net: Enable 64-bit net device statistics on 32-bit architectures
authorBen Hutchings <bhutchings@solarflare.com>
Tue, 8 Jun 2010 07:19:54 +0000 (07:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Jun 2010 22:51:22 +0000 (15:51 -0700)
Use struct rtnl_link_stats64 as the statistics structure.

On 32-bit architectures, insert 32 bits of padding after/before each
field of struct net_device_stats to make its layout compatible with
struct rtnl_link_stats64.  Add an anonymous union in net_device; move
stats into the union and add struct rtnl_link_stats64 stats64.

Add net_device_ops::ndo_get_stats64, implementations of which will
return a pointer to struct rtnl_link_stats64.  Drivers that implement
this operation must not update the structure asynchronously.

Change dev_get_stats() to call ndo_get_stats64 if available, and to
return a pointer to struct rtnl_link_stats64.  Change callers of
dev_get_stats() accordingly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found