• Eric Dumazet's avatar
    net: remove dev_txq_stats_fold() · 1ac9ad13
    Eric Dumazet authored
    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 ab35cd4b (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.htmlReported-by: default avatarNeil Jones <neiljay@gmail.com>
    Signed-off-by: default avatarEric 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: default avatarDavid S. Miller <davem@davemloft.net>
    1ac9ad13
gianfar.h 37.9 KB