Re: [PATCH v2 net-next 1/3] net: enetc: change the statistics of ring to unsigned long type
From: Frank Li
Date: Tue Jun 24 2025 - 12:56:12 EST
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@xxxxxxx>
> Reviewed-by: Claudiu Manoil <claudiu.manoil@xxxxxxx>
Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
> ---
> 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
>