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 03A1EC54ED1 for ; Fri, 23 May 2025 03:26:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B0A756B0099; Thu, 22 May 2025 23:26:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A6EC26B009A; Thu, 22 May 2025 23:26:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 95C736B009B; Thu, 22 May 2025 23:26:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 722246B0099 for ; Thu, 22 May 2025 23:26:32 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 039BE1213A9 for ; Fri, 23 May 2025 03:26:31 +0000 (UTC) X-FDA: 83472735024.21.05B0914 Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf09.hostedemail.com (Postfix) with ESMTP id 0F86C140005 for ; Fri, 23 May 2025 03:26:29 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf09.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747970790; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references; bh=UXJfulx95B0utpk37SiUQhGUXIjBnHQ4gMkwexNDd/8=; b=i+fydyes/3RbzeNy4tQzij6FldKcLGi79Fi6lkmzdgiuUIp6jTB2RQ266+MMlhLfeGC9/1 H+t0U6nJ0HuUjv6Q2wn1RV3q7zAIzaDvolov89Nrdw4WWQ9v2/OqGeq1H0y9EZr572LtQR wvu9EBk0fg7/oCoV07+Zc63sbfJxjsY= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf09.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747970790; a=rsa-sha256; cv=none; b=FCHNi3kCYnZ3/zU7HrDttapnt5Mmi8BtGQqvLJGB05naNTbLBmRiGa4iTVkxw5KE85NrnU isEvP77CBvAXPW2n1JYUc20Eq8xgoaPPJvRoR8cmbWeNouEBwwtuz8VVQ4+21wCpBwopPU w1AgCejMEFFHMwxmF05nI6po0VmkN9k= X-AuditID: a67dfc5b-681ff7000002311f-e3-682feadc1e0a From: Byungchul Park To: willy@infradead.org, netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, kuba@kernel.org, almasrymina@google.com, ilias.apalodimas@linaro.org, harry.yoo@oracle.com, hawk@kernel.org, akpm@linux-foundation.org, davem@davemloft.net, john.fastabend@gmail.com, andrew+netdev@lunn.ch, asml.silence@gmail.com, toke@redhat.com, tariqt@nvidia.com, edumazet@google.com, pabeni@redhat.com, saeedm@nvidia.com, leon@kernel.org, ast@kernel.org, daniel@iogearbox.net, 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, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, vishal.moola@gmail.com Subject: [PATCH 12/18] page_pool: use netmem APIs to access page->pp_magic in page_pool_page_is_pp() Date: Fri, 23 May 2025 12:26:03 +0900 Message-Id: <20250523032609.16334-13-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250523032609.16334-1-byungchul@sk.com> References: <20250523032609.16334-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWReUiTcRzG++09fXPwMk3fNIxWZhlpisUXKvHPXyB0QYedo7204ZHMIxcF VkObubUOpWPFskxbxmxKrgOptTxSsDxilRcrLcO0NJemaM7wvw/P93kevvCwhMxFhrDqtExR k6ZIkdMcyf3wL1nb+T1ate5R/how2ypoeDCeA2W9DgrM1scIfk98YmDUVU/DndteAswtOhLG bH8J6KvzMNBzr5+E5/k1BHguNNBg0E0ScMZRLoG3j40UXPlbSkBNbi8DbU/NNHRXzFDQ7zSQ 0Hj9Pgk9xgSoswSBt2kQgctWIwFv4U0aLrdaaPis60HQ+spDwo3TRgS2WjcFk+NmOmEZrr7/ QYKfXO9isMWehavKI3GBu5XAdquexvaRSwzufP+cxg1XJ0n8xDEqwYazQzT+1feRxMO1HTS2 VXeQuNniYvCoPWwbn8RtUoop6mxREx1/mFMNluqp9JGFOVVvhuhclMcVID9W4OMEp76MnOc/ pluMj2k+QnC7JwgfB/IxwqinftbDsQQ/RAl95klJAWLZAF4p/ByI8HlIPlwobvfMZaX8BsFV /Iz437lUeFD5Yo79ZnVT9xjtYxm/XnjW/pHxdQr8BCP87pt/YrHwstxNmpDUghZYkUydlp2q UKfERam0aeqcqCPHUu1odtt7p6b2OdDI251OxLNI7i91cNEqGaXIztCmOpHAEvJA6ev+KJVM qlRoT4iaY4c0WSlihhOFsqQ8WBrrPa6U8UcVmWKyKKaLmvmrhPULyUWrAqpCB8MbVWHVBRvz rCMtu5cnBiZ/CVpZZdq6KGRPLRG5t0n/sKz724vtA2A6H6B7NLMmVsPLF854sXTzwbtdUftJ 8+q6d22G8ampa4na5hmuKMIafKskidAYVxSd3rtjV2HhuemT8RPaLSXTxsrh+ANLqdVNX7un b1zckbd8SamczFApYiIJTYbiH6XJGKPXAgAA X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTYRzGe3fOzjmuFqdpdTByMBFDyimY/aGIUVlvfag+JUWUox3dclPZ VNQQLCVT8lKJWK1YlrcpLaZ4SbGay0tJl3lhlaasJlk6zVvewrTo24/n9uVhCEkF6cto4hJ5 fZxSK6NEpOj43sxdA9/l6pDRUj8wWmooqJ5PgYrhRiEYzfUIZhY+0TBt76Dg4YM5Aoxvs0iY tSwS4G530TBUPkJCS3YDAa6CTgryspYIuNJYKYC2e11CeFefL4SixTICGjKGaeh5aqTgc82K EEZseSR03akiYShfAe2mLTD3egyB3dIggLnr9yi45TBR8CVrCIGjzUXC3cv5CCytTiEszRsp hQzXVX0Q4KY7gzQ2WZNwbWUQznU6CGw151DYOnWTxgP9LRTuLFkicVPjtADnZXoo/NP9kcQT rX0UfvhtUoAtdX0k7jbZ6ZObzoj2qXitJpnXy/dHidRjZTnChKn1KbWvPFQGuirKRV4Mx4Zx vwrv02tMsYGc07lArLEPG8pNuzrIXCRiCNYj5NzGJUEuYhhvVsVNjgauZUg2gCvudf3titlw zl7cTPzblHLVT57/Za9VvfDzLLXGEnY319z7kS5EIhNaZ0Y+mrhknVKj3R1siFWnxmlSgi/E 66xo9b7y9OUbjWim54gNsQySbRDv0MnVEqEy2ZCqsyGOIWQ+4pcjwWqJWKVMTeP18ef1SVre YEPbGFK2VXwsko+SsDHKRD6W5xN4/X9XwHj5ZqAHvlP1y4ro92el/oNF/pdON8yd1/mt2JJ+ 50vn06TDeaZnmYf3hCVGqPzLSjd/klu7O39sp9/EHEy/fGzTKZXn0bkc6SF+MH6jd4DCYd5P Ou9/HRiNKA4Jd88kHrjoVXqiwrzt7HiZyTQYPTGueHz7Gm+WH41U7XxR8ri/wFnszpaRBrUy NIjQG5R/AAwfKlm6AgAA X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 0F86C140005 X-Stat-Signature: kfst8kn9qep4eubwi8aqodeyjmghryds X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1747970789-605588 X-HE-Meta: U2FsdGVkX18cQTD9VRWpVe6rEf5IuRdLi6AJOMmB/yUZTfoj2+1L05xsvBqHkW1TzV81yIIsJPydjUUOzOdYNYuD8aR515OGNiNuxrC94sj8AZtfz7gby5z8He+akckBcF1150DHvnOlz26x6D+G2iHvFCDDeC0tLRr9tM2vCQT66nuUHXYm5zZAKQyYYV2qTl26s/iNDAzt3tUGCBxAyVYv1ZVD57S07+t9UKZh4YL1Gi8ZX85wn+RpFupka1uFOd4Shmaxz3gX2Xj1gQ33ZxXjs2YnI7hoSatcuWzNSOfA6p9tDpAIHhACLVDmsstlgqXQtou1yfs9/AP/yUo2gIKW+8te7W+CLV7Tlce4Imfmi1usS3+onZMA5DL12Loa+uJpEG4Q6DqfeFDfNVDfjnBzOL7lweppQDoNyeD9ERfgIUynw7cEA/u57/WbUF2dIIep6BNxq76inQSp+mUEnvGK2S7Q0X0CaLSbM23E3JniP6tCQbFOoL9FwZu4X83cONFoW1ciEeR0UMUsVNbDs5HeDKCjRxwKqiGybYC9dum15nodtxbGuZ2gT5tH/tjVbaZ0jLhKkEAwpBUbvqvoLel6A7UdXDY+YM4PFGlx49gLPnzPCZFOleYulmqP/0nhTRz9ZbSH8cJva9mPQJvfMaWW/yvqvwMlYNUcbQvkN4vdoB+ROzbZ2vp0J0oE7vNL1/Y/MGVQ7qB+IlC+kJpsjx132B+k1FtA3Fik4u3w/24mcZktQ17cQ2j0nokzscJGwpK+k786nfdge6n6brqnDdQwqroeuJcG5khUBeoZytCKZ3EosdTTbQjIl8gF6I92lQGRewhLZ7inrf8DDW4Ptb/d2jybRBZxq7fZdPqUZArExmSHxLsnl4xTMcUTTfJNt2BzmENeygW7Y/z1t1F/6gwerocD8H2cZmLEwp2+HZMbEhTfzBj7fpMshp75wKg4/hwewEKTcy6krcbKgmy APGVcwvO kQbfMgyl+01HQzNyRSDNhtESFBnGUGrA78FNyafnjWAsUUrOGX0vqd1exFGTE4zA3VWgIyXyI+aca7oimM4Z3IG3+0QmoT3mTWwwGmVJisePIxjgiGDMyt7lmqw== 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: To simplify struct page, the effort to seperate its own descriptor from struct page is required and the work for page pool is on going. To achieve that, all the code should avoid accessing page pool members of struct page directly, but use safe APIs for the purpose. Use netmem_is_pp() instead of directly accessing page->pp_magic in page_pool_page_is_pp(). Signed-off-by: Byungchul Park --- include/linux/mm.h | 5 +---- net/core/page_pool.c | 5 +++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 8dc012e84033..3f7c80fb73ce 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status); #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL) #ifdef CONFIG_PAGE_POOL -static inline bool page_pool_page_is_pp(struct page *page) -{ - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE; -} +bool page_pool_page_is_pp(struct page *page); #else static inline bool page_pool_page_is_pp(struct page *page) { diff --git a/net/core/page_pool.c b/net/core/page_pool.c index 1071cb3d63e5..37e667e6ca33 100644 --- a/net/core/page_pool.c +++ b/net/core/page_pool.c @@ -1284,3 +1284,8 @@ void net_mp_niov_clear_page_pool(struct net_iov *niov) page_pool_clear_pp_info(netmem); } + +bool page_pool_page_is_pp(struct page *page) +{ + return netmem_is_pp(page_to_netmem(page)); +} -- 2.17.1