From: sashiko-bot@kernel.org
To: "Wei Fang" <wei.fang@nxp.com>
Cc: imx@lists.linux.dev, robh@kernel.org, conor+dt@kernel.org,
Frank.Li@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v8 net-next 14/15] net: dsa: netc: add support for the standardized counters
Date: Tue, 19 May 2026 08:25:39 +0000 [thread overview]
Message-ID: <20260519082539.B3040C2BCB3@smtp.kernel.org> (raw)
In-Reply-To: <20260518082506.1318236-15-wei.fang@nxp.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Torn reads of 64-bit hardware statistics counters on 32-bit architectures
--
commit 9be701cf095ad465b1f7a0429d694425cf05049f
Author: Wei Fang <wei.fang@nxp.com>
net: dsa: netc: add support for the standardized counters
This commit adds support for reading RMON, MAC, pause, and control
statistics for the eMAC and pMAC on NXP NETC switch ports. The 64-bit
hardware counters are exposed through standard ethtool APIs.
> diff --git a/include/linux/fsl/netc_global.h b/include/linux/fsl/netc_global.h
> index fdecca8c90f0c..5b8ff528d3699 100644
> --- a/include/linux/fsl/netc_global.h
> +++ b/include/linux/fsl/netc_global.h
> @@ -5,6 +5,7 @@
> #define __NETC_GLOBAL_H
>
> #include <linux/io.h>
> +#include <linux/io-64-nonatomic-lo-hi.h>
[ ... ]
> +static inline u64 netc_read64(void __iomem *reg)
> +{
> + return ioread64(reg);
> +}
Can this cause torn reads on 32-bit architectures?
Since linux/io-64-nonatomic-lo-hi.h is included, ioread64() will fall back
to ioread64_lo_hi() on 32-bit systems, which performs two independent 32-bit
reads (lower half, then upper half).
Because the MAC statistics are free-running hardware counters, if the lower
32 bits overflow between the two reads, the upper read will see the newly
incremented value. This could result in a spurious 4GB spike in the
aggregated value.
Should this implement a software retry loop to guarantee atomic reads of the
64-bit counters, similar to the pattern used in the ENETC driver?
do {
high = ...;
low = ...;
tmp = ...;
} while (high != tmp);
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260518082506.1318236-1-wei.fang@nxp.com?part=14
next prev parent reply other threads:[~2026-05-19 8:25 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-18 8:24 [PATCH v8 net-next 00/15] Add preliminary NETC switch support for i.MX94 Wei Fang
2026-05-18 8:24 ` [PATCH v8 net-next 01/15] dt-bindings: net: dsa: update the description of 'dsa,member' property Wei Fang
2026-05-18 8:24 ` [PATCH v8 net-next 02/15] dt-bindings: net: dsa: add NETC switch Wei Fang
2026-05-19 8:25 ` sashiko-bot
2026-05-18 8:24 ` [PATCH v8 net-next 03/15] net: enetc: add pre-boot initialization for i.MX94 switch Wei Fang
2026-05-18 8:24 ` [PATCH v8 net-next 04/15] net: enetc: add basic operations to the FDB table Wei Fang
2026-05-18 8:24 ` [PATCH v8 net-next 05/15] net: enetc: add support for the "Add" operation to VLAN filter table Wei Fang
2026-05-18 8:24 ` [PATCH v8 net-next 06/15] net: enetc: add support for the "Update" operation to buffer pool table Wei Fang
2026-05-18 8:24 ` [PATCH v8 net-next 07/15] net: enetc: add support for "Add" and "Delete" operations to IPFT Wei Fang
2026-05-18 8:24 ` [PATCH v8 net-next 08/15] net: enetc: add multiple command BD rings support Wei Fang
2026-05-18 8:25 ` [PATCH v8 net-next 09/15] net: dsa: add NETC switch tag support Wei Fang
2026-05-19 8:25 ` sashiko-bot
2026-05-19 9:23 ` Wei Fang
2026-05-18 8:25 ` [PATCH v8 net-next 10/15] net: dsa: netc: introduce NXP NETC switch driver for i.MX94 Wei Fang
2026-05-19 8:25 ` sashiko-bot
2026-05-19 9:34 ` Wei Fang
2026-05-18 8:25 ` [PATCH v8 net-next 11/15] net: dsa: netc: add phylink MAC operations Wei Fang
2026-05-19 8:25 ` sashiko-bot
2026-05-19 10:00 ` Wei Fang
2026-05-18 8:25 ` [PATCH v8 net-next 12/15] net: dsa: netc: add FDB, STP, MTU, port setup and host flooding support Wei Fang
2026-05-19 8:25 ` sashiko-bot
2026-05-19 9:42 ` Wei Fang
2026-05-18 8:25 ` [PATCH v8 net-next 13/15] net: dsa: netc: initialize buffer pool table and implement flow-control Wei Fang
2026-05-18 8:25 ` [PATCH v8 net-next 14/15] net: dsa: netc: add support for the standardized counters Wei Fang
2026-05-19 8:25 ` sashiko-bot [this message]
2026-05-19 10:08 ` Wei Fang
2026-05-18 8:25 ` [PATCH v8 net-next 15/15] net: dsa: netc: add support for ethtool private statistics Wei Fang
2026-05-19 8:25 ` sashiko-bot
2026-05-19 10:07 ` Wei Fang
2026-05-21 11:10 ` [PATCH v8 net-next 00/15] Add preliminary NETC switch support for i.MX94 patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260519082539.B3040C2BCB3@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=imx@lists.linux.dev \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wei.fang@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.