[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKhg4tJ4vFpsO+=JMCboan==JsKhEjGDVeBk=cM+BmVO+xqFNg@mail.gmail.com>
Date: Wed, 29 Nov 2023 15:08:24 +0800
From: Liang Chen <liangchen.linux@...il.com>
To: Yunsheng Lin <linyunsheng@...wei.com>
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, hawk@...nel.org, ilias.apalodimas@...aro.org,
netdev@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH net-next v4 3/4] skbuff: Add a function to check if a page
belongs to page_pool
On Wed, Nov 29, 2023 at 11:40 AM Yunsheng Lin <linyunsheng@...wei.com> wrote:
>
> On 2023/11/29 11:12, Liang Chen wrote:
> > Wrap code for checking if a page is a page_pool page into a
> > function for better readability and ease of reuse.
> >
> > Signed-off-by: Liang Chen <liangchen.linux@...il.com>
> > ---
> > net/core/skbuff.c | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/net/core/skbuff.c b/net/core/skbuff.c
> > index b157efea5dea..310207389f51 100644
> > --- a/net/core/skbuff.c
> > +++ b/net/core/skbuff.c
> > @@ -890,6 +890,11 @@ static void skb_clone_fraglist(struct sk_buff *skb)
> > skb_get(list);
> > }
> >
> > +static inline bool skb_frag_is_pp_page(struct page *page)
>
> I am not sure about the 'skb_frag' part, But I am not able to come
> up with a better name too:)
>
So, let's leave it there for now:)
> Also, Generally, 'inline' is not really encouraged in c file in
> the networking unless there is a clear justification as the compiler
> can make better decision about whether inlining most of the time.
>
Sure. will remove 'inline' in v5.
> Other than the 'inlining' part, LGTM.
> Reviewed-by: Yunsheng Lin <linyunsheng@...wei.com>
>
> > +{
> > + return (page->pp_magic & ~0x3UL) == PP_SIGNATURE;
> > +}
> > +
> > #if IS_ENABLED(CONFIG_PAGE_POOL)
> > bool napi_pp_put_page(struct page *page, bool napi_safe)
> > {
> > @@ -905,7 +910,7 @@ bool napi_pp_put_page(struct page *page, bool napi_safe)
> > * and page_is_pfmemalloc() is checked in __page_pool_put_page()
> > * to avoid recycling the pfmemalloc page.
> > */
> > - if (unlikely((page->pp_magic & ~0x3UL) != PP_SIGNATURE))
> > + if (unlikely(!skb_frag_is_pp_page(page)))
> > return false;
> >
> > pp = page->pp;
> >
Powered by blists - more mailing lists