diff options
author | 2024-09-30 14:52:40 +0100 | |
---|---|---|
committer | 2024-10-06 16:02:23 +0100 | |
commit | 873e85795026e1c57dd6db24148fc5b85cc2ccee (patch) | |
tree | 47efafe978880f3ac77f6f1b1501669a9ee8a742 /net | |
parent | sfc: remove obsolete counters from struct efx_channel (diff) | |
download | wireguard-linux-873e85795026e1c57dd6db24148fc5b85cc2ccee.tar.xz wireguard-linux-873e85795026e1c57dd6db24148fc5b85cc2ccee.zip |
sfc: implement basic per-queue stats
Just RX and TX packet counts and TX bytes for now. We do not
have per-queue RX byte counts, which causes us to fail
stats.pkt_byte_sum selftest with "Drivers should always report
basic keys" error.
Per-queue counts are since the last time the queue was inited
(typically by efx_start_datapath(), on ifup or reconfiguration);
device-wide total (efx_get_base_stats()) is since driver probe.
This is not the same lifetime as rtnl_link_stats64, which uses
firmware stats which count since FW (re)booted; this can cause a
"Qstats are lower" or "RTNL stats are lower" failure in
stats.pkt_byte_sum selftest.
Move the increment of rx_queue->rx_packets to match the semantics
specified for netdev per-queue stats, i.e. just before handing
the packet to XDP (if present) or the netstack (through GRO).
This will affect the existing ethtool -S output which also
reports these counters.
XDP TX packets are not yet counted into base_stats.
Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions