From: Pavel Begunkov <asml.silence@gmail.com>
To: netdev@vger.kernel.org
Cc: Jakub Kicinski <kuba@kernel.org>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
davem@davemloft.net, sdf@fomichev.me, almasrymina@google.com,
dw@davidwei.uk, Jesper Dangaard Brouer <hawk@kernel.org>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Byungchul Park <byungchul@sk.com>,
asml.silence@gmail.com
Subject: [RFC net-next v1 0/6] nmdesc cleanups and optimisations
Date: Mon, 11 Aug 2025 17:29:37 +0100 [thread overview]
Message-ID: <cover.1754929026.git.asml.silence@gmail.com> (raw)
This series uses newly introduced struct netmem_desc, which represents
common fields b/w netmem types, for optimisations and to start
addressing some of the netmem technical debt.
First, replace __netmem_clear_lsb with netmem_to_nmdesc(). The helper
optimises pp fields accesses, but now we can do the same but cleaner.
The second problem is abundance of places where the user has struct
page / net_iov but still needs to cast it to netmem back and forth
just to be able to use generic helpers. It's not the prettiest
pattern and often can't be optimised. Start introducing netmem_desc
based helpers and using them instead.
There is more work we can do, but these are the patches I want to
pull into zcrx. It's an RFC for now, I'll send it as a pull request
without zcrx bits.
Byungchul Park (1):
net: replace __netmem_clear_lsb() with netmem_to_nmdesc()
Pavel Begunkov (5):
net: move pp_page_to_nmdesc()
net: page_pool: remove page_pool_set_dma_addr()
net: convert page pool dma helpers to netmem_desc
net: page_pool: convert refcounting helpers to nmdesc
io_uring/zcrx: avoid netmem casts with nmdesc
include/net/netmem.h | 75 +++++++++++++++------------------
include/net/page_pool/helpers.h | 41 ++++++++++++++----
io_uring/zcrx.c | 12 +++---
net/core/devmem.c | 5 ---
net/core/netmem_priv.h | 20 +++------
net/core/page_pool_priv.h | 14 +++---
6 files changed, 82 insertions(+), 85 deletions(-)
--
2.49.0
next reply other threads:[~2025-08-11 16:28 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-11 16:29 Pavel Begunkov [this message]
2025-08-11 16:29 ` [RFC net-next v1 1/6] net: move pp_page_to_nmdesc() Pavel Begunkov
2025-08-12 23:55 ` Mina Almasry
2025-08-11 16:29 ` [RFC net-next v1 2/6] net: replace __netmem_clear_lsb() with netmem_to_nmdesc() Pavel Begunkov
2025-08-11 16:29 ` [RFC net-next v1 3/6] net: page_pool: remove page_pool_set_dma_addr() Pavel Begunkov
2025-08-13 0:00 ` Mina Almasry
2025-08-11 16:29 ` [RFC net-next v1 4/6] net: convert page pool dma helpers to netmem_desc Pavel Begunkov
2025-08-13 0:05 ` Mina Almasry
2025-08-13 8:34 ` Pavel Begunkov
2025-08-11 16:29 ` [RFC net-next v1 5/6] net: page_pool: convert refcounting helpers to nmdesc Pavel Begunkov
2025-08-13 0:14 ` Mina Almasry
2025-08-13 9:11 ` Pavel Begunkov
2025-08-13 16:55 ` Mina Almasry
2025-08-14 8:43 ` Pavel Begunkov
2025-08-11 16:29 ` [RFC net-next v1 6/6] io_uring/zcrx: avoid netmem casts with nmdesc Pavel Begunkov
2025-08-13 0:16 ` Mina Almasry
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=cover.1754929026.git.asml.silence@gmail.com \
--to=asml.silence@gmail.com \
--cc=almasrymina@google.com \
--cc=byungchul@sk.com \
--cc=davem@davemloft.net \
--cc=dw@davidwei.uk \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=ilias.apalodimas@linaro.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@fomichev.me \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.