From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2465C4167B for ; Fri, 1 Dec 2023 10:08:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 33BE88D006B; Fri, 1 Dec 2023 05:08:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2EB1E8D0001; Fri, 1 Dec 2023 05:08:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1B2E28D006B; Fri, 1 Dec 2023 05:08:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 07CA48D0001 for ; Fri, 1 Dec 2023 05:08:22 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BD5B112011A for ; Fri, 1 Dec 2023 10:08:21 +0000 (UTC) X-FDA: 81517824402.06.D36FF93 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by imf16.hostedemail.com (Postfix) with ESMTP id CA05F180007 for ; Fri, 1 Dec 2023 10:08:19 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=SmOoNrlH; spf=pass (imf16.hostedemail.com: domain of ilias.apalodimas@linaro.org designates 209.85.208.172 as permitted sender) smtp.mailfrom=ilias.apalodimas@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701425300; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=tML5DK+TRvbvhmb0C7+kjwJns42xSMcEToFAx/Wwysw=; b=gsSfs0Z6cKVNZLtFIhMnJeDax49HY7AWo9MZOvcEWAqMfpHXA7C05Ys17snOW62ZaqK6fy q/m6HMqqNTiQLx+xCZatQiWTJjQfXfcQhCX3kBX7pg2+saPTaB9HpMf9R4Iru5Fynmuebw Hu5WbX+f2hlsXAiisEZ4OgZIzkiExLM= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=SmOoNrlH; spf=pass (imf16.hostedemail.com: domain of ilias.apalodimas@linaro.org designates 209.85.208.172 as permitted sender) smtp.mailfrom=ilias.apalodimas@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701425300; a=rsa-sha256; cv=none; b=1WiIi5AxJMajXbv3kehwFJsDlNoaZUoPTUe/w0NBdsvwYTt3ijGp9EwyvTf+AR/k5kGImI G1M4JXZOpROTvcL6Vw0jlEFf4gL6JyChJEL9e7YjzNpbKxJEVg0c6fYx5g10chvXvfre37 PBSPpZg13zHhutxE1kBhfKQdu28cayI= Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2c9c149848fso24183341fa.2 for ; Fri, 01 Dec 2023 02:08:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1701425298; x=1702030098; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=tML5DK+TRvbvhmb0C7+kjwJns42xSMcEToFAx/Wwysw=; b=SmOoNrlHdcfCZ0n2MkvWhrsDnhzfV9RmHJF8mveNSVDyy3e/yBpiVjJkroDLRCdLRg 35b4nndZzfoUJFClu1YdDCdKw7WX/albIwgFO+EABcv8gMrdCnOfXKQO3fd0zLytnjYI DyWu2jduzIT5/dvAA+lexIg48c2vKDa+w+TV70VasYzQjMmEbqBl243EQMpm1iMe44sB dfmlbyRKkRWyaSHmPPZgP1Vxmhhg05Hfg9qZtJt6uEMB/5pVqTtZd36f975jhABD6UQ+ XCAJ+HVlownih6jEWfVcufG/8rfUzdWM18WXzMBhFeOFzkQ6GaZdX9g3ePSRyVwgwNvr 6mQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701425298; x=1702030098; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=tML5DK+TRvbvhmb0C7+kjwJns42xSMcEToFAx/Wwysw=; b=DRE9gxaxPy4F+gmGhZ5iMSbl+FERtk4mp8vpM0LZmufDHJ9aQ6XIBwRkbQL2rhWmRK vDhg8Te0DPaWDD/qxixbQwfV7q4A4w1+NfEQOxwsGWF95Zdwq0Hku7QOPTLCvEZ5++bG bZzMIa+b6EOUd1vZ1HZKpD7ai2sUda9rHLm9S6lt2cYEzwbj+RUcxdEYufMLDrhgItEE 81pALZ3/IesP1LrPB9GfbC3dlfb1nTmgp/SCKRvJfZBdM+N/42WtqYg9NWkPvndED9Lk Pl2l/YH/rBuAYVd2FEOCxGMIGNH0RBNqxD3a8YsphX+6VbJzGNCs0B7NFc17MNQdcnox ULgA== X-Gm-Message-State: AOJu0Yxs3RyOkhoM/a4U5SitidAvM5rKklwNN7F2YSw+v0R4Y5/DxAkd IrkIq9dznMYvXBmoO733RkEDgUmF7sSma/tWrJOgJQ== X-Google-Smtp-Source: AGHT+IG7NWxEbWCMGEoiCqfb5vD09S2UwYvnIaW4y2YZuh4YsTO6pbuTVlVRNVTBBYulBdTFFyIGlps9Od9hq6R7vG0= X-Received: by 2002:a2e:9d92:0:b0:2c9:d773:ce48 with SMTP id c18-20020a2e9d92000000b002c9d773ce48mr640924ljj.34.1701425298017; Fri, 01 Dec 2023 02:08:18 -0800 (PST) MIME-Version: 1.0 References: <20231130115611.6632-1-liangchen.linux@gmail.com> <20231130115611.6632-4-liangchen.linux@gmail.com> In-Reply-To: <20231130115611.6632-4-liangchen.linux@gmail.com> From: Ilias Apalodimas Date: Fri, 1 Dec 2023 12:07:42 +0200 Message-ID: Subject: Re: [PATCH net-next v6 3/4] skbuff: Add a function to check if a page belongs to page_pool To: Liang Chen Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, hawk@kernel.org, linyunsheng@huawei.com, netdev@vger.kernel.org, linux-mm@kvack.org, jasowang@redhat.com Content-Type: multipart/alternative; boundary="0000000000008023fa060b6ff2a4" X-Rspamd-Queue-Id: CA05F180007 X-Rspam-User: X-Stat-Signature: w441c4h5c459ggprc6xoohn96bjji9zb X-Rspamd-Server: rspam01 X-HE-Tag: 1701425299-480768 X-HE-Meta: U2FsdGVkX1/61F0Ar+NtoTFJoCQsKbsak1UPYgshPCJDKRfmXDy28E+7txtU2w+96sk/r+lTxk0idqTUrd1aybP9+7fdAvwt9TkDNKoSMBIxf7JuOJeknKse6eCof6w+EZ6An2ue2IS8lzirBkyP0Yq7v94RcXsrh3L2XgAn0grWDUwUVM1kpwOij1pYjMcAZUYk8YVwAr87HH935IuOyu5M78bkcJkGC754lVTmKS1HjSvAmjtbvWDfMJlnBsrVq5i6RsEg6MHzTjJKmDJGq7pSCIDcGYfQlACfF8sarQ3ZIK0d1yoPHdb7L+nOBRVdOnJuLsvrE953kOJene6dtz16eeZc6NNSToLmMA6Ew663+fshNiLisW1vBWCQn9+KKMYhUKddqwLQuIyjuHEPt85tVOQcW2nFxluYrDkJCIHlYw4MkxWfqKQWrS7GqLoR34buAgNoyRG9SqqmZTiNsSglJ42kpLt8tDQ3s2/9NZWa+xb3u4OpmuE5/VEEu9s6Wmh4r1fAQvUtYK/uE4LLvWe2H+ba0fW7CLK69rWc1E5ylJCta4+GCm7ik2mlKFZQW/IXPt75yr+2eVqVCDCZ218OAPLkrYPlLH8wh6NK9wBpDPeWMOaJwyi3E5p++KoakUgHLxhKTBbeZsrSgClyn9LWmKVkbbh5cYkg5hZRywGuSdNGLPfgsxpa3c1/ZWbENz+YcUVKfU+Cr13QI/PzC4T4/HW+WM5J2KIUz8S6KH1r/ZFEx2k6nuJWpcz7A9b+Gt5gXwo8vSgs+oO8Gfbke5l4Ge+IzL7XXzE2Zzp1ce/suXI6M/E+Crxz2BceIpz8by/sGWYzJnBolKtcLubuYLpirxQoXrPXo249mBgPoCit07T6r+TR4z6tsSsLk7Ec5+kZOx3+rG8Ok5p2de0tQS6x/54eihixVkLLPN0rLwe8VFnGU76QlNm3VCyODb2nk6D644sBs+Usf8sF7o6 czuAAviU gPtTTmWXLDLUMpTNlTz1tBPGIxFBitQVp1HtoUBn3iqXDjrb7Qrm//9NHR7ABPjd2z4IiyW+Mj6Y2nd3IKj4N9sSSD83p39D20SB7iPgpjs+H/zBG6tSXakcX2LFwklK1DFpzKmF/3BfHCFyHO38ELuC3igQNXUqdbYW0Uk4K18uS1S8acDwFzxxvao4G9pKuBorNJLwmK3u01lF1SDT+Pp1KyuYDztCe1sC6/NU9AATfOE8J7GKc0GtVWD8EdT5Hg3kWhBJ6EhQpSGc0RFkioIAl5jpN4NZP72xH9Vl58XT+/pTyOGl+4oAptOFHt5gyz7pTnhRu4H5ozoZjLFpcORX04w14i9NtNzA74JvhbrCBxuC4XSiHDFywN0YthCATOUxZwonGz3ED/MAah21fiuWTSM8NDAM3RSaM8mrYSwtFQyjjAzzcYfBtOeuaib3Cl8FH+mcMcDjh/bsvBjWpXOBp8HNMjJPJenkbBfGR2+FSaNyXB4ClQggrx0SIyrm3dBz1eF3V6Vmcc0CBM09w1DEvx74jPUhgP7cOOqj7RPdlmv8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --0000000000008023fa060b6ff2a4 Content-Type: text/plain; charset="UTF-8" Hi Liang, On Thu, 30 Nov 2023 at 13:59, 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 > Reviewed-by: Yunsheng Lin > --- > 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..31e57c29c556 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 bool skb_frag_is_pp_page(struct page *page) > +{ > + return (page->pp_magic & ~0x3UL) == PP_SIGNATURE; > +} > That's fine, but why _frag? The same logic applies to non fragmented pages no? So rename it to skb_from_pp()? + > #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; > -- > 2.31.1 > > --0000000000008023fa060b6ff2a4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Liang,


On Thu, 30 Nov 2023 at 13= :59, Liang Chen <liangchen.= linux@gmail.com> wrote:
Wrap code for checking if a page is a page_pool page into a<= br> function for better readability and ease of reuse.

Signed-off-by: Liang Chen <liangchen.linux@gmail.com>
Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com>
---
=C2=A0net/core/skbuff.c | 7 ++++++-
=C2=A01 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index b157efea5dea..31e57c29c556 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -890,6 +890,11 @@ static void skb_clone_fraglist(struct sk_buff *skb) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 skb_get(list);
=C2=A0}

+static bool skb_frag_is_pp_page(struct page *page)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0return (page->pp_magic & ~0x3UL) =3D=3D = PP_SIGNATURE;
+}

That's fine, but why _frag? The same logic a= pplies to non fragmented pages no?
So rename it to skb_from_pp()?

+
=C2=A0#if IS_ENABLED(CONFIG_PAGE_POOL)
=C2=A0bool napi_pp_put_page(struct page *page, bool napi_safe)
=C2=A0{
@@ -905,7 +910,7 @@ bool napi_pp_put_page(struct page *page, bool napi_safe= )
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* and page_is_pfmemalloc() is checked in = __page_pool_put_page()
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* to avoid recycling the pfmemalloc page.=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*/
-=C2=A0 =C2=A0 =C2=A0 =C2=A0if (unlikely((page->pp_magic & ~0x3UL) != =3D PP_SIGNATURE))
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (unlikely(!skb_frag_is_pp_page(page)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return false;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 pp =3D page->pp;
--
2.31.1

--0000000000008023fa060b6ff2a4--