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.cYep, 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