Re: [PATCH net-next v4 0/5] fbnic: Support larger RX pages
From: Simon Horman
Date: Wed Sep 30 2026 - 08:00:36 EST
On Fri, Sep 25, 2026 at 12:44:07PM +0200, Björn Töpel wrote:
> Hi!
>
> This series adds support for large io_uring zero-copy RX buffers to
> fbnic.
>
> fbnic hardware consumes receive memory in 4 KiB device pages, while
> io_uring may expose a larger software buffer, such as 256 KiB. Track
> the device-page geometry per BDQ, represent each large buffer with
> consecutive descriptors, and decode completions to the corresponding
> offset within the buffer. HPQ keeps its existing PAGE_SIZE geometry.
>
> Larger buffers also reduce pressure on the memory provider. One
> provider allocation supplies multiple 4 KiB device pages, so the same
> amount of receive memory needs fewer net_iov objects and fewer
> allocation, refill, and recycle operations. Hardware descriptor use
> remains unchanged.
>
> Ring depth and buffer size must be validated together. An ethtool ring
> change can otherwise make an active memory-provider configuration
> invalid. Store RX ring depths in netdev_config, stage proposed values
> in cfg_pending, and validate the default and each RX queue before
> committing the change. Both netlink and ioctl use the same transaction
> helpers.
>
> The selftest requests a power-of-two buffer larger than twice the MTU,
> checks the reported buffer length, and verifies received data. It does
> not assume how packets are placed within the buffer.
>
> This series depends on the fbnic real-queue synchronization fix:
> https://lore.kernel.org/netdev/20260924191817.1843726-1-bjorn@xxxxxxxxxx/
For the series:
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>