All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Stephen Hemminger <shemminger@vyatta.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>,
	David Miller <davem@davemloft.net>,
	junchangwang@gmail.com, romieu@fr.zoreil.com,
	netdev@vger.kernel.org
Subject: Re: 64-bit net_device_stats
Date: Thu, 3 Jun 2010 01:38:16 +0200	[thread overview]
Message-ID: <201006030138.17668.arnd@arndb.de> (raw)
In-Reply-To: <20100602145912.56ef62c2@nehalam>

On Wednesday 02 June 2010 23:59:12 Stephen Hemminger wrote:
> On Wed, 02 Jun 2010 22:34:29 +0100
> Ben Hutchings <bhutchings@solarflare.com> wrote:
> 
> > Changing the counter types to u64 for 32-bit architectures would remove
> > atomicity and expose half-updated counters to userland.  Changing the
> > driver interface significantly so that atomicity is not needed would
> > require changes to hundreds of drivers.
> 
> Another big issue is maintaining ABI compatibility for /proc and ioctl
> interfaces. So bigger values would only be available through netlink,
> and most applications using counters don't use netlink. 

Doesn't the /proc interface already allow 64 bit values in case of
64 bit hosts running the same 32 bit user space?

For the ioctl interfaces, we can of course introduce additional
ioctl commands that always deal with 64 bit values, many other
subsystems have been extended in similar ways.

We don't mandate that a program built against new kernel headers
must work on old kernels, so it is possibly to actually change
the definitions, as long as the kernel still supports the old
interfaces for existing binaries. We should still have a
good reason even for breaking the ABI in ways that we don't
guarantee to be stable.

	Arnd

  reply	other threads:[~2010-06-02 23:38 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-25 14:19 [PATCH] r8169: Add counters tx_bytes and rx_bytes for ethtool Junchang Wang
2010-05-25 19:56 ` Francois Romieu
2010-05-26  1:01   ` Junchang Wang
2010-05-25 23:15 ` David Miller
2010-05-26  0:51   ` Junchang Wang
2010-06-02 21:34   ` 64-bit net_device_stats Ben Hutchings
2010-06-02 21:59     ` Stephen Hemminger
2010-06-02 23:38       ` Arnd Bergmann [this message]
2010-06-03 14:51         ` Ben Hutchings
2010-06-03 17:39           ` [PATCH 1/2] net: Enable 64-bit net device statistics on 32-bit architectures Ben Hutchings
2010-06-03 18:47             ` Stephen Hemminger
2010-06-03 19:11               ` Ben Hutchings
2010-06-04 17:28                 ` Stephen Hemminger
2010-06-04 18:15                   ` Ben Hutchings
2010-06-04 20:39                     ` Stephen Hemminger
2010-06-04 20:47                       ` Ben Hutchings
2010-06-03 17:40           ` [PATCH 2/2] sfc: Implement 64-bit net device statistics on all architectures Ben Hutchings
2010-06-04  1:59     ` 64-bit net_device_stats Junchang Wang
2010-06-04  3:59       ` Eric Dumazet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201006030138.17668.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=bhutchings@solarflare.com \
    --cc=davem@davemloft.net \
    --cc=junchangwang@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=romieu@fr.zoreil.com \
    --cc=shemminger@vyatta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.