lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ