diff options
author | Jon Mason <jon.mason@exar.com> | 2010-07-02 09:13:49 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-02 22:27:25 -0700 |
commit | 4a49043223e5047c8f60a09f7b2927a2e6e8dfc7 (patch) | |
tree | 6e11ebe97981668ba06d538c44dc7c09a6c688a9 /drivers/net/s2io.h | |
parent | 94e6721d9ce938293a02736c5f7e42205a41ea68 (diff) | |
download | op-kernel-dev-4a49043223e5047c8f60a09f7b2927a2e6e8dfc7.zip op-kernel-dev-4a49043223e5047c8f60a09f7b2927a2e6e8dfc7.tar.gz |
s2io: resolve statistics issues
This patch resolves a number of issues in the statistics gathering of
the s2io driver.
On Xframe adapters, the received multicast statistics counter includes
pause frames which are not indicated to the driver. This can cause
issues where the multicast packet count is higher than what has actually
been received, possibly higher than the number of packets received.
The driver software counters are replaced with the adapter hardware
statistics for rx_packets, rx_bytes, and tx_bytes. It also uses the
overflow registers to determine if the statistics wrapped the 32bit
register (removing the window of having a statistic value less than the
previous call). rx_length_errors statistic now includes undersized
packets in addition to oversized packets in its counting. Finally,
rx_crc_errors are now being counted.
Signed-off-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/s2io.h')
-rw-r--r-- | drivers/net/s2io.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h index 47c36e0..5e52c75 100644 --- a/drivers/net/s2io.h +++ b/drivers/net/s2io.h @@ -745,10 +745,6 @@ struct ring_info { /* Buffer Address store. */ struct buffAdd **ba; - - /* per-Ring statistics */ - unsigned long rx_packets; - unsigned long rx_bytes; } ____cacheline_aligned; /* Fifo specific structure */ |