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 2C556C3ABCC for ; Fri, 9 May 2025 11:52:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5EDA1280007; Fri, 9 May 2025 07:51:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3335E280006; Fri, 9 May 2025 07:51:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F1D6A6B010F; Fri, 9 May 2025 07:51:45 -0400 (EDT) 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 C34B46B010D for ; Fri, 9 May 2025 07:51:45 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4612CC1381 for ; Fri, 9 May 2025 11:51:46 +0000 (UTC) X-FDA: 83423205012.11.58CD2E4 Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf01.hostedemail.com (Postfix) with ESMTP id 67DE140009 for ; Fri, 9 May 2025 11:51:44 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf01.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=1746791504; a=rsa-sha256; cv=none; b=d7GL6APM7vLLyqlg3SI5lh7SG4amJhH6oMALlrpGuxgJAFSwKrHA16/0JOdptxDgLCvbLD az3stlFnGX1gf8E3hahOPnlG0b96ToE5avKuOM2G0+h3hv6ArKF+a1vskWC+loOMwKQ+sr +tJpJ2QySw/tmigyZsjzJq41VliQ7aY= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf01.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=1746791504; 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=AmwJXTu3QgyEKorPjRlX321zSOKdtE0qmPHiD9vy47I=; b=xnR5u8smRNWvDyOvc+NOZPHyjSnr7P+16SAveoDnZST4BGxKZA9DQrugzHCKQGlOhNLbhG 99uzKHoSUtFPSBfoo0B8xDEBqJ3gFopwSWsA4b0KWuaK/cqZYkBmdvpIejndmjU1F+PT8k qWUSUaLd+sQoR42gQImxqoZ7GhXXPho= X-AuditID: a67dfc5b-669ff7000002311f-74-681dec49a92a 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, ast@kernel.org, daniel@iogearbox.net, davem@davemloft.net, john.fastabend@gmail.com, andrew+netdev@lunn.ch, edumazet@google.com, pabeni@redhat.com, vishal.moola@gmail.com Subject: [RFC 13/19] page_pool: expand scope of is_pp_{netmem,page}() to global Date: Fri, 9 May 2025 20:51:20 +0900 Message-Id: <20250509115126.63190-14-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250509115126.63190-1-byungchul@sk.com> References: <20250509115126.63190-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrNLMWRmVeSWpSXmKPExsXC9ZZnka7nG9kMg8b9hhZz1q9hs1j9o8Ji +YMdrBZfft5mt1i88BuzxZzzLSwWT489Yre4v+wZi8We9u3MFr0tv5ktmnasYLK4sK2P1eLy rjlsFvfW/Ge1OLZAzOLb6TeMFuv33WC1+P1jDpuDkMeWlTeZPHbOusvusWBTqcfmFVoeXTcu MXtsWtXJ5rHp0yR2jzvX9rB5nJjxm8Vj547PTB4fn95i8Xi/7yqbx+dNcgG8UVw2Kak5mWWp Rfp2CVwZvecnshRcE6houDmLuYHxJ28XIyeHhICJxOQT59hh7Bn/e5lBbDYBdYkbN36C2SIC hhKfHx1n6WLk4mAWWMgscWXxT7AGYQF/iZ87vjOC2CwCqhLH7nWwgNi8AmYSc75dY4MYKi+x esMBoEEcHJxA8f6P6iBhIQFTiWVTFrCBzJQQ+M8msfLDVSaIekmJgytusExg5F3AyLCKUSgz ryw3MTPHRC+jMi+zQi85P3cTIzAKltX+id7B+OlC8CFGAQ5GJR5ei+eyGUKsiWXFlbmHGCU4 mJVEeJ93ymQI8aYkVlalFuXHF5XmpBYfYpTmYFES5zX6Vp4iJJCeWJKanZpakFoEk2Xi4JRq YGy6FcNzyfLWP6uLmY/PlPyvzq5OVsyflHLn9zTN8+KPSkQXltzrfymcu19Jc/JngZIj5+6K iE3cqdi0brfMVWm3vlSTeUJtHq9OBl7xa2Dd2hay90FSpHW3iZf5sRaODco3biU33SkplyrP yXvGwan0JdE/WebP1X9/0k+VHtXeXdVtuPqAqxJLcUaioRZzUXEiAL7nXy9+AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrELMWRmVeSWpSXmKPExsXC5WfdrOv5RjbDYPoxDYs569ewWaz+UWGx /MEOVosvP2+zWyxe+I3ZYs75FhaLp8cesVvcX/aMxWJP+3Zmi96W38wWTTtWMFkcnnuS1eLC tj5Wi8u75rBZ3Fvzn9Xi2AIxi2+n3zBarN93g9Xi9485bA7CHltW3mTy2DnrLrvHgk2lHptX aHl03bjE7LFpVSebx6ZPk9g97lzbw+ZxYsZvFo+dOz4zeXx8eovF4/2+q2wei198YPL4vEku gC+KyyYlNSezLLVI3y6BK6P3/ESWgmsCFQ03ZzE3MP7k7WLk5JAQMJGY8b+XGcRmE1CXuHHj J5gtImAo8fnRcZYuRi4OZoGFzBJXFv9kB0kIC/hL/NzxnRHEZhFQlTh2r4MFxOYVMJOY8+0a G8RQeYnVGw4ADeLg4ASK939UBwkLCZhKLJuygG0CI9cCRoZVjCKZeWW5iZk5pnrF2RmVeZkV esn5uZsYgSG9rPbPxB2MXy67H2IU4GBU4uG1eC6bIcSaWFZcmXuIUYKDWUmE93mnTIYQb0pi ZVVqUX58UWlOavEhRmkOFiVxXq/w1AQhgfTEktTs1NSC1CKYLBMHp1QDI4tcX5xwzgmdQ46q AVvmhL5vdZdObP0rqHhi6cJFP7ZVc1U9v7YqmzGGc4l8XEe5477Ct83vlPgz+RZFP7m5ep5A 3aPDG7ecPM57Zv4ltjqruM+STIeDWC6s/3Q2WzKb/XiXZb+vruHvOYXK7a/8c5e9fNjq97ym sP0hd5eUQV/rWdYX0jc5lViKMxINtZiLihMB7kIiDmUCAAA= X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 67DE140009 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: g7d1dnj9onjkqer7mp6qpsqbkka7uqwn X-HE-Tag: 1746791504-529226 X-HE-Meta: U2FsdGVkX18t2kKcA6X9gF5fPjCJBIjt7RQcKi2nLBqJa0Ugo+HkRckogJDWHXwZzS4ADc1GGsILfLcC1ghEINRVY7YNRArPxrPJrYN9DBy4KjzYAZ8pOfj1UNCXwY5vtK5i9V7bQeXCDG5ztR9aui9rwGWTSTH0fGl1kKZgfTTZWBYeRXftH94CwKV4weiLk2aa63xIyMgQiR07P2YT8a9Yzo2eD3vONzn5bb2rn6UHW/4+g2M/tWLxUupf1iT6XH9g5RMVMqFFERF9e4sG+z3vQ8/lLq+MrZ2rzcmJBOY5aRCC/kNWaFJlyL4khQovhAm4PylbpKr/SkuuKaeYEVhEteyi0rX+M/jyixf6vkIk5EKM24DFiSkDrflxfQlmJiQ9mr7toXyJRqtWccsrMksb/Ms5mfMkdk/dXb2TJPayIJZ59TbHGbFJL9xRLjsLQ+to9mqUwR8HUPhWY1Na2ER7mgLusLhOuPyBVAmEBOyPRcYptVaj+Djq8bP6yCXuiwXq1U4SHrZhFF2OqQpbRYCmcClb2sVLX0rJK01kQsvJgq+3Uo1DNnAjKSOuo1OaXmE61i5LP79Q5Z9fg0i/krzc+XwoL4jNvQ3ttc5jfMxlGpRA1lF43UX7COtSMKWbAngVglxd6VWmkYz8pVU44Eugly4qog2AVYenwcYBiG6kfc/0ETgKfvNJtoPP477xoaJVnKfdtsmuFuOKGR547F41XS01VqOENKdGFV4gIyIC7rxAvAVeL7xneNdiI5dnuwECLGfHq2CLmjfjrz0kfcZFNkRc6EiA4qyJvASeANWt5dKmdepx23Jh2pO6PXiPymYa3WcLY0vkl4dNDfzO/ILIqFNeQ1ZLbbFCrB9cff1yFz3fO3hZfddpjjoXMdjZV5CutlAf0t44gSGaS2JbHYSwm6+dNV7YCdqCbNggKYI28LAaNAit9ipdQ4SPTEjV71KqoILxVJWtFoAw/9t wHcfZYGx lOjsyoAT6P2D9uM2GORSLWErNb37UqjbIsRJMiOesypISmBjknl9fLLCX4b3CmYt1eLTvVmryoOfautEiGwBBsZvikFbQghnlf3amOVYopHNffScfFELNjlQVsg== 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: Other than skbuff.c might need to check if a page or netmem is for page pool, for example, page_alloc.c needs to check the page state, whether it comes from page pool or not for their own purpose. Expand the scope of is_pp_netmem() and introduce is_pp_page() newly, so that those who want to check the source can achieve the checking without accessing page pool member, page->pp_magic, directly. Signed-off-by: Byungchul Park --- include/net/page_pool/types.h | 2 ++ net/core/page_pool.c | 10 ++++++++++ net/core/skbuff.c | 5 ----- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/include/net/page_pool/types.h b/include/net/page_pool/types.h index 36eb57d73abc6..d3e1a52f01e09 100644 --- a/include/net/page_pool/types.h +++ b/include/net/page_pool/types.h @@ -299,4 +299,6 @@ static inline bool is_page_pool_compiled_in(void) /* Caller must provide appropriate safe context, e.g. NAPI. */ void page_pool_update_nid(struct page_pool *pool, int new_nid); +bool is_pp_netmem(netmem_ref netmem); +bool is_pp_page(struct page *page); #endif /* _NET_PAGE_POOL_H */ diff --git a/net/core/page_pool.c b/net/core/page_pool.c index b61c1038f4c68..9c553e5a1b555 100644 --- a/net/core/page_pool.c +++ b/net/core/page_pool.c @@ -1225,3 +1225,13 @@ void net_mp_niov_clear_page_pool(struct netmem_desc *niov) page_pool_clear_pp_info(netmem); } + +bool is_pp_netmem(netmem_ref netmem) +{ + return (netmem_get_pp_magic(netmem) & ~0x3UL) == PP_SIGNATURE; +} + +bool is_pp_page(struct page *page) +{ + return is_pp_netmem(page_to_netmem(page)); +} diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 6cbf77bc61fce..11098c204fe3e 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -893,11 +893,6 @@ static void skb_clone_fraglist(struct sk_buff *skb) skb_get(list); } -static bool is_pp_netmem(netmem_ref netmem) -{ - return (netmem_get_pp_magic(netmem) & ~0x3UL) == PP_SIGNATURE; -} - int skb_pp_cow_data(struct page_pool *pool, struct sk_buff **pskb, unsigned int headroom) { -- 2.17.1