[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aFrYghOED24f0CVa@lizhi-Precision-Tower-5810>
Date: Tue, 24 Jun 2025 12:55:30 -0400
From: Frank Li <Frank.li@....com>
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, horms@...nel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
imx@...ts.linux.dev
Subject: Re: [PATCH v2 net-next 1/3] net: enetc: change the statistics of
ring to unsigned long type
On Tue, Jun 24, 2025 at 06:15:46PM +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 unsigned long type. So it is
> better to keep the statistics types consistent in these two structures.
> Considering these two factors, and the fact that both LS1028A and i.MX95
> are arm64 architecture, the statistics of enetc_ring_stats are changed
> to unsigned long type. Note that unsigned int and unsigned long are the
> same thing on some systems, and on such systems there is no overflow
> advantage of one over the other.
>
> Signed-off-by: Wei Fang <wei.fang@....com>
> Reviewed-by: Claudiu Manoil <claudiu.manoil@....com>
Reviewed-by: Frank Li <Frank.Li@....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;
> };
>
> struct enetc_xdp_data {
> --
> 2.34.1
>
Powered by blists - more mailing lists