net: remove dev_txq_stats_fold()
authorEric Dumazet <eric.dumazet@gmail.com>
Wed, 12 Jan 2011 12:13:14 +0000 (12:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Jan 2011 05:44:34 +0000 (21:44 -0800)
commit1ac9ad1394fa542ac7ae0dc943ee3cda678799fa
treed846be421ed68f4fc612ae7c061783dab73d5fa2
parent1949e084bfd143c76e22c0b37f370d6e7bf4bfdd
net: remove dev_txq_stats_fold()

After recent changes, (percpu stats on vlan/tunnels...), we dont need
anymore per struct netdev_queue tx_bytes/tx_packets/tx_dropped counters.

Only remaining users are ixgbe, sch_teql, gianfar & macvlan :

1) ixgbe can be converted to use existing tx_ring counters.

2) macvlan incremented txq->tx_dropped, it can use the
dev->stats.tx_dropped counter.

3) sch_teql : almost revert ab35cd4b8f42 (Use net_device internal stats)
    Now we have ndo_get_stats64(), use it, even for "unsigned long"
fields (No need to bring back a struct net_device_stats)

4) gianfar adds a stats structure per tx queue to hold
tx_bytes/tx_packets

This removes a lockdep warning (and possible lockup) in rndis gadget,
calling dev_get_stats() from hard IRQ context.

Ref: http://www.spinics.net/lists/netdev/msg149202.html

Reported-by: Neil Jones <neiljay@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Jarek Poplawski <jarkao2@gmail.com>
CC: Alexander Duyck <alexander.h.duyck@intel.com>
CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Sandeep Gopalpet <sandeep.kumar@freescale.com>
CC: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/gianfar.c
drivers/net/gianfar.h
drivers/net/ixgbe/ixgbe_main.c
drivers/net/macvtap.c
include/linux/netdevice.h
net/core/dev.c
net/sched/sch_teql.c