[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100709.180152.183047856.davem@davemloft.net>
Date: Fri, 09 Jul 2010 18:01:52 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: bhutchings@...arflare.com, netdev@...r.kernel.org,
linux-net-drivers@...arflare.com
Subject: Re: [PATCH net-next-2.6 1/2] net: Get rid of rtnl_link_stats64 /
net_device_stats union
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Fri, 09 Jul 2010 23:08:54 +0200
> Le vendredi 09 juillet 2010 à 20:11 +0100, Ben Hutchings a écrit :
>> In commit be1f3c2c027cc5ad735df6a45a542ed1db7ec48b "net: Enable 64-bit
>> net device statistics on 32-bit architectures" I redefined struct
>> net_device_stats so that it could be used in a union with struct
>> rtnl_link_stats64, avoiding the need for explicit copying or
>> conversion between the two. However, this is unsafe because there is
>> no locking required and no lock consistently held around calls to
>> dev_get_stats() and use of the statistics structure it returns.
>>
>> In commit 28172739f0a276eb8d6ca917b3974c2edb036da3 "net: fix 64 bit
>> counters on 32 bit arches" Eric Dumazet dealt with that problem by
>> requiring callers of dev_get_stats() to provide storage for the
>> result. This means that the net_device::stats64 field and the padding
>> in struct net_device_stats are now redundant, so remove them.
>>
>> Update the comment on net_device_ops::ndo_get_stats64 to reflect its
>> new usage.
>>
>> Change dev_txq_stats_fold() to use struct rtnl_link_stats64, since
>> that is what all its callers are really using and it is no longer
>> going to be compatible with struct net_device_stats.
>>
>> Eric Dumazet suggested the separate function for the structure
>> conversion.
>>
>> Signed-off-by: Ben Hutchings <bhutchings@...arflare.com>
>
> Acked-by: Eric Dumazet <eric.dumazet@...il.com>
Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists