[PATCH net v4 0/7] net: stmmac: More selftest-related fixes

Maxime Chevallier posted 7 patches 1 week ago
.../ethernet/stmicro/stmmac/dwmac4_descs.c    |   4 +-
drivers/net/ethernet/stmicro/stmmac/hwif.h    |   2 +-
.../net/ethernet/stmicro/stmmac/ring_mode.c   |   4 +-
.../net/ethernet/stmicro/stmmac/stmmac_main.c |  20 +--
.../stmicro/stmmac/stmmac_selftests.c         | 153 ++++++++++++++----
5 files changed, 139 insertions(+), 44 deletions(-)
[PATCH net v4 0/7] net: stmmac: More selftest-related fixes
Posted by Maxime Chevallier 1 week ago
Hi everyone,

This is V4 of stmmac selftest fixes, addressing Sashiko's issues over
the MTU patch. This lead to the introduction of a new one. The
dev_add_pack races have been addressed, however the double-vlan issue
stayed there. Ovidiu is actively working on it, let's wait for his work
to land before fixing that.

Nicolai, I took the liberty of keeping your review tags on affected
patches, let me know if this isn't ok.

This is another round of stmmac selftest fixes, mostly about the selftests
themselves but a few things were discovered w.r.t MTU and buffer size
handling, see patch 5 anf 6.

After this is merged, I consider the selftests to be now reliable enough
to run them nightly on every stmmac series that's sent, and I'll be requiring
clean selftests for new glue drivers.

Since V3, the testing farm grew ! I've been running this on :

 - Altera CycloneV (dwmac-socfpga, dwmac1000 IP, v3.70a)
 - NXP imx8mp (dwmac-imx, dwmac4, v5.10a)
 - Allwinner H2S (dwmac-sun8i, dwmac1000)
 - Amlogic S905X3 (dwmac-meson8b, dwmac1000, v3.70a)
 - STM32mp157a (dwmac-stm32, dwmac4, v4.20a)
 - SiFive JH7110 (dwmac-starfive, dwmac4, v5.20)
 - Motorcomm YT8061 (PCIe, dwmac-motorcomm, dwmac4)
 - Qualcomm IPQ8064 (dwmac-ipq806x, dwmac1000)
 - Altera AgileX5 (dwmac-socfpga, dwxgmac2 !) (NEW)
 - Generic dwmac1000 (Loongson 2K0300, dwmac 3.70a) (NEW)
 - Rockchip RK3566 (dwmac-rk, dwmac4) (NEW)

It's becoming cumbersome to list the test results here, they can be
found, updated daily, here :

https://minimaxwell.github.io/stmmac-ci/

Thanks,

Maxime

V4:
 - Move the dev_add_pack later, to avoid potential races (sashiko)
 - Add one more MTU fix for 8K buffer selection
 - Ditch an extra SKB padding in patch 5.

V3:
https://lore.kernel.org/netdev/20260911212028.1497613-1-maxime.chevallier@bootlin.com/
 - Bail out of the EEE test if LPI is over 5 seconds

V2:
https://lore.kernel.org/r/20260910151404.976753-1-maxime.chevallier@bootlin.com
 - Snapshot before sending the frame for EEE, in case we immediately
   enter LPI
 - Also return -ETIMEDOUT instead of EINVAL

V1: https://lore.kernel.org/lkml/20260909074740.1247762-1-maxime.chevallier@bootlin.com/

Maxime Chevallier (7):
  net: stmmac: selftests: Support running selftests on DSA conduits
  net: stmmac: selftests: Validate EEE based on the actual LPI timer
    value
  net: stmmac: selftests: Check the dev->features for S-TAG offload
    testing
  net: stmmac: selftests: Capture all packets for vlan checks
  net: stmmac: dwmac4: Use the correct bufzise when the len is exactly
    8K
  net: stmmac: size the RX buffers from the frame length, not the MTU
  net: stmmac: selftests: Account for alignment shift on dwmac1000 for
    Jumbo test

 .../ethernet/stmicro/stmmac/dwmac4_descs.c    |   4 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.h    |   2 +-
 .../net/ethernet/stmicro/stmmac/ring_mode.c   |   4 +-
 .../net/ethernet/stmicro/stmmac/stmmac_main.c |  20 +--
 .../stmicro/stmmac/stmmac_selftests.c         | 153 ++++++++++++++----
 5 files changed, 139 insertions(+), 44 deletions(-)

-- 
2.55.0
Re: [PATCH net v4 0/7] net: stmmac: More selftest-related fixes
Posted by Jakub Kicinski 3 days, 2 hours ago
On Thu, 17 Sep 2026 23:53:31 +0200 Maxime Chevallier wrote:
> This is V4 of stmmac selftest fixes, addressing Sashiko's issues over
> the MTU patch. This lead to the introduction of a new one. The
> dev_add_pack races have been addressed, however the double-vlan issue
> stayed there. Ovidiu is actively working on it, let's wait for his work
> to land before fixing that.
> 
> Nicolai, I took the liberty of keeping your review tags on affected
> patches, let me know if this isn't ok.
> 
> This is another round of stmmac selftest fixes, mostly about the selftests
> themselves but a few things were discovered w.r.t MTU and buffer size
> handling, see patch 5 anf 6.
> 
> After this is merged, I consider the selftests to be now reliable enough
> to run them nightly on every stmmac series that's sent, and I'll be requiring
> clean selftests for new glue drivers.

This got to the top of the stack for me, LMK if none of the AI feedback
is legit. You mentioned the VLAN one, not sure about the rest.
The EEE complaints look like nit picks but also some are easily
addressable? LMK..
Re: [PATCH net v4 0/7] net: stmmac: More selftest-related fixes
Posted by Maxime Chevallier 2 days, 8 hours ago
Hi Jakub,

On 9/22/26 00:22, Jakub Kicinski wrote:
> On Thu, 17 Sep 2026 23:53:31 +0200 Maxime Chevallier wrote:
>> This is V4 of stmmac selftest fixes, addressing Sashiko's issues over
>> the MTU patch. This lead to the introduction of a new one. The
>> dev_add_pack races have been addressed, however the double-vlan issue
>> stayed there. Ovidiu is actively working on it, let's wait for his work
>> to land before fixing that.
>>
>> Nicolai, I took the liberty of keeping your review tags on affected
>> patches, let me know if this isn't ok.
>>
>> This is another round of stmmac selftest fixes, mostly about the selftests
>> themselves but a few things were discovered w.r.t MTU and buffer size
>> handling, see patch 5 anf 6.
>>
>> After this is merged, I consider the selftests to be now reliable enough
>> to run them nightly on every stmmac series that's sent, and I'll be requiring
>> clean selftests for new glue drivers.
> 
> This got to the top of the stack for me, LMK if none of the AI feedback
> is legit. You mentioned the VLAN one, not sure about the rest.
> The EEE complaints look like nit picks but also some are easily
> addressable? LMK..

I'd say the AI complaints are legit for EEE, but I have mixed feeling about
iterating more for that point only.

AI points bugs that are related to 3 main classes of problems (for EEE but
other patches as well) :

 - User reconfigures the interface during the ethtool -t run
 - The selftest outcome depends on how the link was negotiated (worth for Pause
   and EEE)
 - Selftests are sensitive to external traffic being received during the
   selftests run.

Obviously we don't want the kernel to crash because of ethtool selftests and that
has been addressed, but for now I'd say ethtool selftests failing because of
external factors is something we can live with, although we should make them
more robust.

The main thing is that we've always been subjected to these problems, and addressing
that is an entire ordeal in itself. I can followup (my goal is to have all
green runs here [1], this already proved useful for at least 2 patches in the
past 2 months that broke selftests), so I'll definitely work on the remaining
points as followup.

Maxime

[1] : https://minimaxwell.github.io/stmmac-ci/

(These are just custom tests, I want to switch to the real kselftests eventually,
the runner is currently being stress-tested to iron out the last issues before
submitting that to netdev-ci)