Re: [PATCH net-next v2 00/11] net: ethernet: cortina: Fix Gemini RX buffer management
flat view
From: Paolo Abeni <pabeni@redhat.com>
Date: 2026-10-01 09:51:42
On 9/28/26 10:50, Linus Walleij wrote:
The Gemini ethernet uses a custom software free queue shared by both ports. Its page metadata, DMA mappings and fragment references are not managed consistently as pages move through the free queue and RX queues. Correct the DMA address bookkeeping and synchronization. Track exact fragment mappings with an XArray and keep in-flight page metadata in bitmap-allocated slots until all hardware references have been claimed. Serialize queue resize against the refill interrupt, harden fragment validation and teardown, then scale the default queue sizes for systems with 32 or 64 MiB of RAM. This series wasn't so complex to begin with but Sashiko and the other LLMs just find more and more corner cases. It's for the better I guess. Before these patches the network driver would crash under strong load but it does not happen any more after. Tested on the D-Link DIR-685 playing back media and transfering new media using ksmbd while issuing ping storms. Assisted-by: LLM Signed-off-by: Linus Walleij <linusw@kernel.org>
The vast majority of clashiko findings are actually fixes in this very patch series or pre-existing issues, but I think it has a valid point on patch 5 (WRT rebuilding ring with odd number of entries consumed). Also it looks like patch 11 is mostly against the current netdev guidance for guard() usage: https://elixir.bootlin.com/linux/v7.2.8/source/Documentation/process/maintainer-netdev.rst#L407 Thanks, Paolo