Thread (21 messages) flat view 21 messages, 5 authors, 2012-07-21

Re: [PATCH] b44: add 64 bit stats

From: Ben Hutchings <hidden>
Date: 2012-07-20 14:33:45

On Fri, 2012-07-20 at 07:24 +0200, Eric Dumazet wrote:
On Fri, 2012-07-20 at 06:53 +0200, Eric Dumazet wrote:
quoted
On Thu, 2012-07-19 at 21:56 -0400, Kevin Groeneveld wrote:
quoted
I am still trying to make sure I understand this fully.  I want to
update some other drivers with 64 bit stats as well.  What you said
seems to make sense, but...

I was looking at the virtio_net.c driver.  One spot in this driver
which updates the stats is the receive_buf function.  recive_buf is
called from virtnet_poll which is registered as a napi poll function.
According to Documentation/networking/netdevices.txt the poll function
is called in a softirq context.  However, the function which reads the
stats uses u64_stats_fetch_begin/u64_stats_fetch_retry.  Shouldn't
this be u64_stats_fetch_begin_bh/u64_stats_fetch_retry_bh for the
exact reasons you described for my b44 patch?
Absolutely. You can argue that probably nobody use this driver on a
32bit UP machine, but technically speaking the current implementation is
racy.
In fact all network drivers should use the _bh version.

Could you send a patch for all of them, based on net-next tree ?

Thanks !
Don't we need an _irq variant for drivers that support netpoll?

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help