From: netdev-bot+sashiko@kernel.org
To: bjorn@kernel.org
Cc: magnus.karlsson@intel.com, maciej.fijalkowski@intel.com,
sdf@fomichev.me, davem@davemloft.net, edumazet@kernel.org,
kuba@kernel.org, pabeni@redhat.com, horms@kernel.org,
corbet@lwn.net, skhan@linuxfoundation.org, rdunlap@infradead.org,
alexanderduyck@fb.com, kernel-team@meta.com,
andrew+netdev@lunn.ch, hawk@kernel.org,
ilias.apalodimas@linaro.org, ast@kernel.org,
daniel@iogearbox.net, john.fastabend@gmail.com,
asml.silence@gmail.com, axboe@kernel.dk, andrii@kernel.org,
eddyz87@gmail.com, memxor@gmail.com, martin.lau@linux.dev,
song@kernel.org, yonghong.song@linux.dev, jolsa@kernel.org,
emil@etsalapatis.com, ihor.solodrai@linux.dev,
netdev@vger.kernel.org, bpf@vger.kernel.org,
io-uring@vger.kernel.org, almasrymina@google.com,
mike.marciniszyn@gmail.com, bestswngs@gmail.com,
razor@blackwall.org, dw@davidwei.uk,
aleksander.lobakin@intel.com, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, stuclar@meta.com
Subject: Re: [PATCH net-next v1 02/11] net: Add memory provider capabilities
Date: Wed, 11 Nov 2026 22:41:21 +0000 [thread overview]
Message-ID: <179443688151.2199510.3920075646889577971@kernel.org> (raw)
In-Reply-To: <20261110102039.1002605-3-bjorn@kernel.org>
Thank you for your contribution! Sashiko AI review found more severe
issue(s) in other patches of this series. This mail is only an FYI, in case
you want to address the nit picks below when you respin.
Low priority / nit picks for your consideration:
- [Low] Documentation/networking/netmem.rst, 'Driver RX Requirements',
disagrees with the readable-provider semantics this patch adds.
--
net: Add memory provider capabilities
This adds MP_CAP_READABLE and MP_CAP_FRAG memory provider capabilities.
The header split and XDP restrictions now apply only to unreadable
providers. A new PP_FLAG_MEM_PROVIDER flag lets a page pool take a
readable provider from its RX queue. devmem and io_uring are marked
MP_CAP_FRAG and keep their current behavior.
> diff --git a/Documentation/networking/netmem.rst b/Documentation/networking/netmem.rst
> index 6871dcdd700cc..39cb75339704d 100644
> --- a/Documentation/networking/netmem.rst
> +++ b/Documentation/networking/netmem.rst
> @@ -103,6 +103,11 @@ Driver RX Requirements
> which knows when dma-syncing is (or is not) appropriate.
> - PP_FLAG_ALLOW_UNREADABLE_NETMEM. The driver must specify this flag iff
> tcp-data-split is enabled.
> + - PP_FLAG_MEM_PROVIDER. The page pool takes memory from the memory
> + provider of its RX queue, readable or not. Page pool creation fails if
> + the provider is unreadable and PP_FLAG_ALLOW_UNREADABLE_NETMEM is not
> + set, so do not set it on header page pools of such a queue. Without it,
> + PP_FLAG_ALLOW_UNREADABLE_NETMEM selects unreadable providers only.
[Severity: Low]
This isn't a bug, but does this entry belong under item 4's heading, "The
driver must use the following PP_FLAGS:"?
PP_FLAG_MEM_PROVIDER is opt-in. The comment in
include/net/page_pool/types.h says "Take memory from the memory provider
of the RX queue, if one is installed".
devmem and io_uring pools still get their unreadable provider with only
PP_FLAG_ALLOW_UNREADABLE_NETMEM set, because page_pool_select_mp() assigns
unreadable providers without the new flag. The entry itself also says not
to set the flag on header page pools of a queue with an unreadable
provider.
Item 2 above is still an unconditional requirement:
2. The driver must support the tcp-data-split ethtool option.
However, __netif_mp_open_rxq() now checks hds_config and hds_thresh only
when the provider lacks MP_CAP_READABLE:
if (unreadable &&
dev->cfg->hds_config != ETHTOOL_TCP_DATA_SPLIT_ENABLED) {
The MP_CAP_READABLE kernel-doc also says such a provider "may back header
page pools".
Could items 2 and 4 be reworded to cover the readable provider case? As
far as I can tell, this text is still unchanged at the end of the series.
That leaves af_xdp.rst as the only place that describes the
readable-provider driver contract.
>
> 5. The driver must not assume the netmem is readable and/or backed by pages.
> The netmem returned by the page_pool may be unreadable, in which case
[ ... ]
--
Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20261110102039.1002605-1-bjorn%40kernel.org
next prev parent reply other threads:[~2026-11-11 22:41 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-10 10:20 [PATCH net-next v1 00/11] xsk: Zero copy through page-pool memory providers Björn Töpel
2026-11-10 10:20 ` [PATCH net-next v1 01/11] net: Get skb fragment addresses through netmem Björn Töpel
2026-11-10 10:20 ` [PATCH net-next v1 02/11] net: Add memory provider capabilities Björn Töpel
2026-11-10 22:19 ` Stanislav Fomichev
2026-11-11 12:41 ` Björn Töpel
2026-11-11 22:41 ` netdev-bot+sashiko [this message]
2026-11-10 10:20 ` [PATCH net-next v1 03/11] xdp: Copy buffers with restricted lifetime Björn Töpel
2026-11-10 22:32 ` Stanislav Fomichev
2026-11-11 13:27 ` Björn Töpel
2026-11-11 22:41 ` netdev-bot+sashiko
2026-11-10 10:20 ` [PATCH net-next v1 04/11] xsk: Allocate UMEM chunks through page_pool Björn Töpel
2026-11-10 15:08 ` Magnus Karlsson
2026-11-11 13:51 ` Björn Töpel
2026-11-10 23:02 ` Stanislav Fomichev
2026-11-11 13:59 ` Björn Töpel
2026-11-10 10:20 ` [PATCH net-next v1 05/11] xsk: Install UMEM page pool providers in the core Björn Töpel
2026-11-10 23:50 ` Stanislav Fomichev
2026-11-11 14:01 ` Björn Töpel
2026-11-11 8:59 ` Magnus Karlsson
2026-11-11 19:26 ` Björn Töpel
2026-11-10 10:20 ` [PATCH net-next v1 06/11] page_pool: Coordinate refill with memory providers Björn Töpel
2026-11-10 23:51 ` Stanislav Fomichev
2026-11-11 19:37 ` Björn Töpel
2026-11-10 10:20 ` [PATCH net-next v1 07/11] xsk: Deliver provider chunks without copying Björn Töpel
2026-11-10 10:20 ` [PATCH net-next v1 08/11] eth: fbnic: Support XDP redirect Björn Töpel
2026-11-10 10:20 ` [PATCH net-next v1 09/11] eth: fbnic: Use netmem for RX headers and XDP_TX Björn Töpel
2026-11-10 10:20 ` [PATCH net-next v1 10/11] eth: fbnic: Support RX buffers it cannot split Björn Töpel
2026-11-11 21:45 ` Dimitri Daskalakis
2026-11-10 10:20 ` [PATCH net-next v1 11/11] eth: fbnic: Support AF_XDP page pool zero copy Björn Töpel
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=179443688151.2199510.3920075646889577971@kernel.org \
--to=netdev-bot+sashiko@kernel.org \
--cc=aleksander.lobakin@intel.com \
--cc=alexanderduyck@fb.com \
--cc=almasrymina@google.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrii@kernel.org \
--cc=asml.silence@gmail.com \
--cc=ast@kernel.org \
--cc=axboe@kernel.dk \
--cc=bestswngs@gmail.com \
--cc=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=corbet@lwn.net \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dw@davidwei.uk \
--cc=eddyz87@gmail.com \
--cc=edumazet@kernel.org \
--cc=emil@etsalapatis.com \
--cc=hawk@kernel.org \
--cc=horms@kernel.org \
--cc=ihor.solodrai@linux.dev \
--cc=ilias.apalodimas@linaro.org \
--cc=io-uring@vger.kernel.org \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kernel-team@meta.com \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=martin.lau@linux.dev \
--cc=memxor@gmail.com \
--cc=mike.marciniszyn@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=razor@blackwall.org \
--cc=rdunlap@infradead.org \
--cc=sdf@fomichev.me \
--cc=skhan@linuxfoundation.org \
--cc=song@kernel.org \
--cc=stuclar@meta.com \
--cc=yonghong.song@linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®