| From: |
| edward.cree-AT-amd.com |
| To: |
| <linux-net-drivers-AT-amd.com>, <davem-AT-davemloft.net>, <kuba-AT-kernel.org>, <edumazet-AT-google.com>, <pabeni-AT-redhat.com> |
| Subject: |
| [RFC PATCH v3 net-next 0/7] sfc: per-queue stats |
| Date: |
| Wed, 18 Sep 2024 17:14:22 +0100 |
| Message-ID: |
| <cover.1726593632.git.ecree.xilinx@gmail.com> |
| Cc: |
| Edward Cree <ecree.xilinx-AT-gmail.com>, <netdev-AT-vger.kernel.org>, <habetsm.xilinx-AT-gmail.com>, <jacob.e.keller-AT-intel.com> |
| Archive-link: |
| Article |
From: Edward Cree <ecree.xilinx@gmail.com>
This series implements the netdev_stat_ops interface for per-queue
statistics in the sfc driver, partly using existing counters that
were originally added for ethtool -S output.
Changed in v3:
* make TX stats count completions rather than enqueues
* add new patch #4 to account for XDP TX separately from netdev
traffic and include it in base_stats
* move the tx_queue->old_* members out of the fastpath cachelines
* note on patch #6 that our hw_gso stats still count enqueues
* RFC since net-next is closed right now
Changed in v2:
* exclude (dedicated) XDP TXQ stats from per-queue TX stats
* explain patch #3 better
Edward Cree (7):
sfc: remove obsolete counters from struct efx_channel
sfc: implement basic per-queue stats
sfc: add n_rx_overlength to ethtool stats
sfc: account XDP TXes in netdev base stats
sfc: implement per-queue rx drop and overrun stats
sfc: implement per-queue TSO (hw_gso) stats
sfc: add per-queue RX bytes stats
drivers/net/ethernet/sfc/ef100_rx.c | 5 +-
drivers/net/ethernet/sfc/efx.c | 109 ++++++++++++++++++++++
drivers/net/ethernet/sfc/efx_channels.c | 6 ++
drivers/net/ethernet/sfc/efx_channels.h | 7 ++
drivers/net/ethernet/sfc/ethtool_common.c | 3 +-
drivers/net/ethernet/sfc/net_driver.h | 47 +++++++++-
drivers/net/ethernet/sfc/rx.c | 5 +-
drivers/net/ethernet/sfc/rx_common.c | 3 +
drivers/net/ethernet/sfc/tx.c | 6 +-
drivers/net/ethernet/sfc/tx_common.c | 33 +++++--
drivers/net/ethernet/sfc/tx_common.h | 4 +-
11 files changed, 210 insertions(+), 18 deletions(-)