From: Byungchul Park <byungchul@sk.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: linux-mm@kvack.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, kernel_team@skhynix.com,
harry.yoo@oracle.com, ast@kernel.org, daniel@iogearbox.net,
davem@davemloft.net, hawk@kernel.org, john.fastabend@gmail.com,
sdf@fomichev.me, saeedm@nvidia.com, leon@kernel.org,
tariqt@nvidia.com, mbloch@nvidia.com, andrew+netdev@lunn.ch,
edumazet@google.com, pabeni@redhat.com,
akpm@linux-foundation.org, david@redhat.com,
lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com,
vbabka@suse.cz, rppt@kernel.org, surenb@google.com,
mhocko@suse.com, horms@kernel.org, jackmanb@google.com,
hannes@cmpxchg.org, ziy@nvidia.com, ilias.apalodimas@linaro.org,
willy@infradead.org, brauner@kernel.org, kas@kernel.org,
yuzhao@google.com, usamaarif642@gmail.com,
baolin.wang@linux.alibaba.com, almasrymina@google.com,
toke@redhat.com, asml.silence@gmail.com, bpf@vger.kernel.org,
linux-rdma@vger.kernel.org, sfr@canb.auug.org.au
Subject: Re: [PATCH linux-next v3] mm, page_pool: introduce a new page type for page pool in page type
Date: Mon, 4 Aug 2025 10:03:07 +0900 [thread overview]
Message-ID: <20250804010307.GA39461@system.software.com> (raw)
In-Reply-To: <20250801160805.28fa1e05@kernel.org>
On Fri, Aug 01, 2025 at 04:08:05PM -0700, Jakub Kicinski wrote:
> On Tue, 29 Jul 2025 20:02:10 +0900 Byungchul Park wrote:
> > [PATCH linux-next v3] mm, page_pool: introduce a new page type for page pool in page type
>
> linux-next does not accept patches. This has to go either via networking or MM.
Yeah. That's what I found. Thanks for the confirmation.
> > - if (unlikely(page_has_type(page)))
> > + if (unlikely(page_has_type(page))) {
>
> Maybe add :
>
> /* networking expects to clear its page type before releasing */
I will.
> > + WARN_ON_ONCE(PageNetpp(page));
> > /* Reset the page_type (which overlays _mapcount) */
> > page->page_type = UINT_MAX;
> > + }
>
> > static inline bool netmem_is_pp(netmem_ref netmem)
> > {
> > - return (netmem_get_pp_magic(netmem) & PP_MAGIC_MASK) == PP_SIGNATURE;
> > + /* Use ->pp for net_iov to identify if it's pp,
>
> Please try to use precise language, this code is confusing as is.
> net_iov may _belong_ to a page pool.
>
> * which requires that non-pp net_iov should have ->pp NULL'd.
Thank you. I will.
> I don't think this adds any information.
>
> > + */
> > + if (netmem_is_net_iov(netmem))
> > + return !!__netmem_clear_lsb(netmem)->pp;
> > +
> > + /* For system memory, page type bit in struct page can be used
>
> "page type bit" -> "page type", it's not a bit.
>
> > + * to identify if it's pp.
>
> ... to identify pages which belong to a page pool.
I will.
> > + */
> > + return PageNetpp(__netmem_to_page(netmem));
> > }
> >
> > static inline void netmem_set_pp(netmem_ref netmem, struct page_pool *pool)
> > diff --git a/net/core/page_pool.c b/net/core/page_pool.c
> > index 05e2e22a8f7c..37eeab76c41c 100644
> > --- a/net/core/page_pool.c
> > +++ b/net/core/page_pool.c
> > @@ -654,7 +654,6 @@ s32 page_pool_inflight(const struct page_pool *pool, bool strict)
> > void page_pool_set_pp_info(struct page_pool *pool, netmem_ref netmem)
> > {
> > netmem_set_pp(netmem, pool);
> > - netmem_or_pp_magic(netmem, PP_SIGNATURE);
> >
> > /* Ensuring all pages have been split into one fragment initially:
> > * page_pool_set_pp_info() is only called once for every page when it
> > @@ -665,12 +664,19 @@ void page_pool_set_pp_info(struct page_pool *pool, netmem_ref netmem)
> > page_pool_fragment_netmem(netmem, 1);
> > if (pool->has_init_callback)
> > pool->slow.init_callback(netmem, pool->slow.init_arg);
> > +
> > + /* If it's page-backed */
>
> Please don't add obvious comments.
I added the comment since it's _not_ obvious. !net_iov means it's not
net_iov, not it's page-backed. However, since you, as the maintainer,
are okay, I will remove it. Thanks.
Byungchul
> > + if (!netmem_is_net_iov(netmem))
> > + __SetPageNetpp(__netmem_to_page(netmem));
next prev parent reply other threads:[~2025-08-04 1:03 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-29 11:02 [PATCH linux-next v3] mm, page_pool: introduce a new page type for page pool in page type Byungchul Park
2025-07-29 14:20 ` Zi Yan
2025-08-01 23:08 ` Jakub Kicinski
2025-08-04 1:03 ` Byungchul Park [this message]
2025-08-02 5:07 ` Stephen Rothwell
2025-08-04 1:17 ` Byungchul Park
2025-08-04 7:38 ` David Hildenbrand
2025-08-10 20:21 ` Pavel Begunkov
2025-08-11 1:09 ` Byungchul Park
2025-08-13 6:09 ` Byungchul Park
2025-08-13 11:18 ` Pavel Begunkov
2025-08-13 14:52 ` Jakub Kicinski
2025-08-14 9:42 ` Pavel Begunkov
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=20250804010307.GA39461@system.software.com \
--to=byungchul@sk.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=almasrymina@google.com \
--cc=andrew+netdev@lunn.ch \
--cc=asml.silence@gmail.com \
--cc=ast@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=bpf@vger.kernel.org \
--cc=brauner@kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=david@redhat.com \
--cc=edumazet@google.com \
--cc=hannes@cmpxchg.org \
--cc=harry.yoo@oracle.com \
--cc=hawk@kernel.org \
--cc=horms@kernel.org \
--cc=ilias.apalodimas@linaro.org \
--cc=jackmanb@google.com \
--cc=john.fastabend@gmail.com \
--cc=kas@kernel.org \
--cc=kernel_team@skhynix.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-rdma@vger.kernel.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mbloch@nvidia.com \
--cc=mhocko@suse.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rppt@kernel.org \
--cc=saeedm@nvidia.com \
--cc=sdf@fomichev.me \
--cc=sfr@canb.auug.org.au \
--cc=surenb@google.com \
--cc=tariqt@nvidia.com \
--cc=toke@redhat.com \
--cc=usamaarif642@gmail.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.org \
--cc=yuzhao@google.com \
--cc=ziy@nvidia.com \
/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.