Thread (288 messages) 288 messages, 13 authors, 2014-04-01

Re: [PATCH net-next 02/10] 8139too: Call dev_kfree_skby_any instead of dev_kfree_skb.

From: Eric W. Biederman <hidden>
Date: 2014-03-13 21:08:28

Eric Dumazet [off-list ref] writes:
On Wed, 2014-03-12 at 22:24 +0100, Francois Romieu wrote:
quoted
Eric Dumazet [off-list ref] :
[...]
quoted
Same u64_stats_fetch_begin_bh() problem for this driver to fetch TX
stats.
Same problem for any NAPI context Tx completing driver that claims
netpoll support. For instance:
drivers/net/ethernet/emulex/benet
drivers/net/ethernet/intel/i40e
drivers/net/ethernet/intel/igb
drivers/net/ethernet/intel/ixgbe
drivers/net/ethernet/marvell/sky2.c
drivers/net/ethernet/neterion/vxge ?

Similar problem for the drivers below. They update Tx stats in start_xmit
and use u64_.*_bh:
drivers/net/ethernet/tile/tilepro.c
drivers/net/team/team.c
drivers/net/virtio_net.c
Yep, note that this issue is not caused by Eric patches, we need to take
care of this by providing u64_stats_fetch_{begin|retry}_irq() regardless
of how skb are freed.
By my read of the code this is actually only a problem on 32bit
uniprocessor, and at worst it scrambles the reported nuumbers if we
happen to have a printk in irq context while we are fetching the stats.

Given the rest of the problems that I am fixing can corrupt things, and
can happen on any platform I am going to ignore this problem for now.

Eric
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help