• Florian Fainelli's avatar
    net: bcmgenet: Track per TX/RX rings statistics · 37a30b43
    Florian Fainelli authored
    __bcmgenet_tx_reclaim() is currently summing TX bytes/packets in a way
    that is not SMP friendly, mutliples CPUs could run
    __bcmgenet_tx_reclaim() independently and still update stats->tx_bytes
    and stats->tx_packets, cloberring the other CPUs statistics.
    
    Fix this by tracking per RX and TX rings the number of bytes, packets,
    dropped and errors statistics, and provide a bcmgenet_get_stats()
    function which aggregates everything and returns a consistent output.
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    37a30b43
bcmgenet.h 20.5 KB