Re: [PATCH net-next v2 0/2] net: netmem: document design principles and intended direction
From: Stanislav Fomichev
Date: Thu Oct 08 2026 - 18:14:19 EST
On 10/08, Mina Almasry wrote:
> Because the networking stack and drivers are only partially converted to
> netmem_ref and current memory providers only supply unreadable net_iovs,
> automated code review and analysis tools (such as LLMs) frequently infer
> the wrong architectural invariants from existing code. Specifically,
> they often assume that page_pool's struct page APIs are primary rather
> than legacy wrappers, that memory providers always imply net_iov, that
> net_iov is inherently unreadable, or that callers should branch on or
> downcast netmem_ref directly.
>
> Document the intended netmem, memory provider, page_pool, and skb
> fragment design principles concisely in the relevant headers, code
> comments, and netmem documentation so both developers and automated
> tools follow the intended abstractions. This series adds comments and
> documentation rather than performing a large refactor all at once, so
> that future incremental changes nudge the codebase in the intended
> direction.
>
> This reflects my mental model of the netmem, page_pool, and memory
> provider architecture; I welcome feedback and disagreements,
> particularly from major contributors to page_pool and memory providers.
>
> Cc: Luigi Rizzo <lrizzo@xxxxxxxxxx>
> Cc: Björn Töpel <bjorn@xxxxxxxxxx>
> Cc: Stanislav Fomichev <sdf@xxxxxxxxxxx>
> Cc: Pavel Begunkov <asml.silence@xxxxxxxxx>
> ---
> v2:
> - Document both current implementation status (memory providers currently
> supply net_iov, and net_iov is currently unreadable) and target design
> principles, and clarify that new code should generalize existing
> limitations as much as possible (Stanislav Fomichev).
Acked-by: Stanislav Fomichev <sdf@xxxxxxxxxxx>