[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250621095245.GA71935@horms.kernel.org>
Date: Sat, 21 Jun 2025 10:52:45 +0100
From: Simon Horman <horms@...nel.org>
To: Wei Fang <wei.fang@....com>
Cc: claudiu.manoil@....com, vladimir.oltean@....com, xiaoning.wang@....com,
andrew+netdev@...n.ch, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, imx@...ts.linux.dev
Subject: Re: [PATCH net-next 1/3] net: enetc: change the statistics of ring
to unsigned long type
On Fri, Jun 20, 2025 at 06:21:38PM +0800, Wei Fang wrote:
> The statistics of the ring are all unsigned int type, so the statistics
> will overflow quickly under heavy traffic. In addition, the statistics
> of struct net_device_stats are obtained from struct enetc_ring_stats,
> but the statistics of net_device_stats are all unsigned long type.
> Considering these two factors, the statistics of enetc_ring_stats are
> all changed to unsigned long type.
>
> Signed-off-by: Wei Fang <wei.fang@....com>
> ---
> drivers/net/ethernet/freescale/enetc/enetc.h | 22 ++++++++++----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc.h b/drivers/net/ethernet/freescale/enetc/enetc.h
> index 872d2cbd088b..62e8ee4d2f04 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc.h
> +++ b/drivers/net/ethernet/freescale/enetc/enetc.h
> @@ -96,17 +96,17 @@ struct enetc_rx_swbd {
> #define ENETC_TXBDS_MAX_NEEDED(x) ENETC_TXBDS_NEEDED((x) + 1)
>
> struct enetc_ring_stats {
> - unsigned int packets;
> - unsigned int bytes;
> - unsigned int rx_alloc_errs;
> - unsigned int xdp_drops;
> - unsigned int xdp_tx;
> - unsigned int xdp_tx_drops;
> - unsigned int xdp_redirect;
> - unsigned int xdp_redirect_failures;
> - unsigned int recycles;
> - unsigned int recycle_failures;
> - unsigned int win_drop;
> + unsigned long packets;
> + unsigned long bytes;
> + unsigned long rx_alloc_errs;
> + unsigned long xdp_drops;
> + unsigned long xdp_tx;
> + unsigned long xdp_tx_drops;
> + unsigned long xdp_redirect;
> + unsigned long xdp_redirect_failures;
> + unsigned long recycles;
> + unsigned long recycle_failures;
> + unsigned long win_drop;
> };
Hi Wei fang,
If the desire is for an unsigned 64 bit integer, then
I think either u64 or unsigned long long would be good choices.
unsigned long may be 64bit or 32bit depending on the platform.
Powered by blists - more mailing lists