[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7e2ab878-3c4b-4658-a98f-106ce453dd76@intel.com>
Date: Fri, 28 Feb 2025 12:51:01 +0100
From: Przemek Kitszel <przemyslaw.kitszel@...el.com>
To: Jakub Kicinski <kuba@...nel.org>
CC: <netdev@...r.kernel.org>, <edumazet@...gle.com>, <pabeni@...hat.com>,
<andrew+netdev@...n.ch>, <horms@...nel.org>, <michael.chan@...adcom.com>,
<pavan.chebbi@...adcom.com>, <davem@...emloft.net>
Subject: Re: [PATCH net-next v2 0/9] eth: bnxt: maintain basic pkt/byte
counters in SW
On 2/28/25 02:25, Jakub Kicinski wrote:
> Some workloads want to be able to track bandwidth utilization on
> the scale of 10s of msecs. bnxt uses HW stats and async stats
> updates, with update frequency controlled via ethtool -C.
> Updating all HW stats more often than 100 msec is both hard for
> the device and consumes PCIe bandwidth. Switch to maintaining
> basic Rx / Tx packet and byte counters in SW.
>
> Tested with drivers/net/stats.py:
> # Totals: pass:7 fail:0 xfail:0 xpass:0 skip:0 error:0
>
> Manually tested by comparing the ethtool -S stats (which continues
> to show HW stats) with qstats, and total interface stats.
> With and without HW-GRO, and with XDP on / off.
> Stopping and starting the interface also doesn't corrupt the values.
>
> v2:
> - fix skipping XDP vs the XDP Tx ring handling (Michael)
> - rename the defines as well as the structs (Przemek)
> - fix counding frag'ed packets in XDP Tx
> v1: https://lore.kernel.org/20250226211003.2790916-1-kuba@kernel.org
>
> Jakub Kicinski (9):
> eth: bnxt: use napi_consume_skb()
> eth: bnxt: don't run xdp programs on fallback traffic
> eth: bnxt: rename ring_err_stats -> ring_drv_stats
> eth: bnxt: snapshot driver stats
> eth: bnxt: don't use ifdef to check for CONFIG_INET in GRO
> eth: bnxt: consolidate the GRO-but-not-really paths in bnxt_gro_skb()
> eth: bnxt: maintain rx pkt/byte stats in SW
> eth: bnxt: maintain tx pkt/byte stats in SW
> eth: bnxt: count xdp xmit packets
>
> drivers/net/ethernet/broadcom/bnxt/bnxt.h | 49 +++-
> drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h | 3 +-
> drivers/net/ethernet/broadcom/bnxt/bnxt.c | 213 +++++++++++-------
> .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 20 +-
> drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 43 +++-
> 5 files changed, 228 insertions(+), 100 deletions(-)
>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
Powered by blists - more mailing lists