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 7E3CDC5B543 for ; Thu, 29 May 2025 03:11:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 35D416B00A8; Wed, 28 May 2025 23:11:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3347C6B00AA; Wed, 28 May 2025 23:11:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 24ACA6B00AB; Wed, 28 May 2025 23:11:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0BF656B00A8 for ; Wed, 28 May 2025 23:11:04 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 82EC6E060E for ; Thu, 29 May 2025 03:11:03 +0000 (UTC) X-FDA: 83494468806.08.F075CF5 Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf15.hostedemail.com (Postfix) with ESMTP id A601FA000F for ; Thu, 29 May 2025 03:11:01 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf15.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=1748488262; 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=Za+IJJfGv4yyKMaIz/F2Rp6zbWEoaEXkhJNY9glBGX8=; b=yIYC7B2FvLZyZUcXlgKmNCEl0iNaSJGGoYZd5+mMlHAHZEiRFXYEcwYDbTytCL44V2qHWJ 2o6Q2dVKvrJulG9RTIK6ytCdsOeGdtrHWS4CW1Ym4Jc1ML7fXJKjilNIbWT/Cvgohok93g TZHIx5c8SyLQ2qqPMCy/Nb8krnJOAmI= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf15.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=1748488262; a=rsa-sha256; cv=none; b=5jZv0vX0Y6oXXfrefifHzH8RbovMH7iyekEPGyvvGHJnomPLZZz50VIlcDqp/F7R/hl5T6 jRoWvaAh8Ulzp7b2GnDpPN/GTeyfI2QKLioJZDZDJ6SNNYffUzUW7BQQJ0Ptl09qpsRlPE AKg7qFOk2fxUzSf9v8Q5XOZZ55duDZg= X-AuditID: a67dfc5b-681ff7000002311f-d6-6837d041cb4f 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: [RFC v3 02/18] netmem: introduce netmem alloc APIs to wrap page alloc APIs Date: Thu, 29 May 2025 12:10:31 +0900 Message-Id: <20250529031047.7587-3-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250529031047.7587-1-byungchul@sk.com> References: <20250529031047.7587-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTYRjHfXfenXMcjk5L6qRQOApJyEtYPh9Cpb68CEHgF6sPOvTUlnPa vKRdwEwqtc0oEV0T5iXzBot5myWWF+akQPPGsnSiqIQ3vA0voTnFbz+e//P/PR8elpJ1Yx9W pUkTtBqFWk5LsGTRq+LitYEwZXBuHBjNDTTUb2bCx0mrGIx1LQjWt34zsNbTS0NluYsCY38u hg3zNgUztikGnNWzGNpftlIwVWinQZe7Q0GOtUYEAy16MRRtf6CgNXuSgaHPRhomGvbEMNul w9BnqMXg1EeCzXQSXN8XEPSYW0Xgel1Gw7tBEw3TuU4Eg91TGN4/0yMwdzjEsLNppCP9SFPt LxFpM4wzxGRJJ401ASTfMUgRS10eTSyrbxnyZ7SdJvaSHUzarGsionu+RJOVmTFMljtGaGJu GsHkh6mHIWuWMze525KrCYJalSFog8LjJMq5xhJRSrNnpnN+iM5G40w+8mR5LpSfbi7ER1w6 bkVupjl/3uHYotzszYXwa1O9+zsSluKWxPyMcUfkDk5w0fyuZW6fWRZz5/mS+WD3WLrvqfpb ID50nuXrP3078Hhyl/nixuKDqsx9K7+Tdjt5boXh+6rG0GHhNN9Z48BvkNSEPOqQTKXJSFKo 1KGByiyNKjMwPjnJgvZfW/303x0rWh2I7kIci+ReUjsKU8rEiozUrKQuxLOU3FuaE3FFKZMm KLIeCdrkWG26WkjtQr4slp+SXnI9TJBx9xRpQqIgpAjao1TEevpkI49lmz10Nf5Y3kRL6YLp ulHGxYy8ujtcsO5zPLAiqMU7PyqssV3tk6i3ZTBt209EZcGG/lt90UX+wx2lsTc0tcSEKruH 1ks3lnV+W+dCYgyL5ZBXuIkNuxeUX3/q7vfY55J8vaKc+pWIhCwbt2gKHxidj3ywl/nisTzg C96V41SlIiSA0qYq/gPRtppC1gIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTcRjG/Z/Lf8fZ4DhFD/ahnFkkVlqaLxlmH6RDkQQWgZA68uCW88Km ooFhKkRT103EdOLCvEureZshUVPyUqBotnWxycQbil28Z2jO6NuP9+H9PR8ehpTWUz6MMjVD UKfKVTIspsTR4QVHzg6HKYLa9UdAb2zB0LyeDfUTZhr0TR0Ilje+iGCptw9DzZNVEvRDhRSs GH+TMPXWIQJ73TQF3Xc6SXDc68dQUrhJQr65gYCeqgEahjt0NJT+riWhM29CBKMv9Ri+tWzT MG0poWCgopECuy4S3hq8YPXdAoJeYycBq8VVGB6NGDBMFtoRjPQ4KKi8rUNgfGWjYXNdjyNl fFvjJ4LvqhgX8QZTJt/aEMBrbSMkb2q6i3nTr4ci/uvHbsz3l29SfJd5ieBLChYx/3PqM8V/ fzWG+ZrZHwRvbBuj+PeGXtEl91jx6URBpcwS1MciEsSKmdZyIr3dNds+P4rz0LhIi1wZjg3h Ho+bkZMxe4iz2TZIJ3uywdySo4/SIjFDsos0N6XfJJyBBxvDbZlmdphhKNafK58Pcp4lO56n c0X0P+c+rvn5612PKxvKlbWW7b5KnV3aN/g+EhuQSxPyVKZmpciVqtCjmmRFTqoy++j1tBQT 2pmvLvfPAzNaHj1nQSyDZHsk/ShMIaXlWZqcFAviGFLmKck/c1IhlSTKc24K6rR4daZK0FjQ XoaSeUvOXxUSpGySPENIFoR0Qf0/JRhXnzxUss83KsrHy6Ph4uUTdJVpItDteFLf3EzcqQgi 9sNBPBh9zS3XigN6dSGlL5IqDyR3OlpL18Kta+7F3kWTISvPJqyDXJffvFl7y6Zj3RKra2fj NA6rfeHCVl3AnI9jm70RndC/wLpEx/dNx/gFig8vO+ZVVv8hVVy1L3vFsl9GaRTy4ABSrZH/ BXliA8O6AgAA X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: A601FA000F X-Stat-Signature: k6q8jgr9679mcound6q4d9a797ykjpio X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1748488261-990364 X-HE-Meta: U2FsdGVkX19tLWc+Z+L/af4ASE0u9i5lcCqkJDivouSRw2ftbbnwErnA0adHcFCaizjvUFN7D09zB94/Bn+wWHcED4mWCTRBMNofOg2KYRev962Gqzsw7+fRSXLfwG3kWWETwAODFbGc6FLuUzpuSfXFxovS6lzm0fnNzbARJJUJa7/iV6Ux4HQEIQBQf8rljejFigdaCnwbVBJyQUcYwVVwUnvqVu18r/wWkVWDeILvsKeu0CyWj3eN2djCfI4ATsqJ8323TcuK9dvOz0X8lnNTsywpRC+FRTAD0gNiGNu23TvsVw8vos/0BXzWYc7dJgiNjA/163wzndCuQXTPgaUyeeqdHCnqjEnFepQ/haRN3M2s7YBC4Wvb7g+C+Kb1AioIemA6hs2OBWvrXWR+PTMhGRFF2iapLa7wFaZcGvNMGexUruLXApTLdk8TU2ApjmOv8mrR+cgDuUNBrgWhglyMLtAaaqS2bbWchmUB7n4LwabNUzg8k5DSK+0vbVvpuUkRXt5iGrNcSbnuchoi+1jNz+4V910VGdlgoDVFhp272aZp0bUN7thw+UrVVHP87oMssAHvwkSBGVS20pb81FWkJ7KG2nUqbdSblsyDGIQz4dNE/REIjlVJjM0eFA/A8ox+Itftk2i/ECgRl60LytDsh91ror27lKK5jc8DdPUw1B/GXp9r7sNW3Tnk3cEsNxw09mE6xY4BdpmCYDLeww4RekO7zAkIJBTqLl+bMHbgKxywT/m1dAWTbp69m7MPjT1vb7L5yCqroJBT2pKDXUfJW9NJ4nTZKlusHJTwG3+ZIeKCxqKKGBhnZ3N0UPIjfKSkE0A1x25FkpTcokrrqmo6WNAcw8lq38r7zmbrTBolMWv+YBnWumNBxqyhs1RkcNbO3pUOTVReJKHMLecPZU1NPhnpdByh6JYtCW2IpYpR1zoM54ZMYAgu+e68qG6Dm02WVEfR/D00eQOkTEn ZWBTa9q/ 8sc2tzFU/6L/fm8bNmDt1FJuJpKTJQq/RGb81RVzMZar7vRXaD4W+Y+KE9V5BKuwJlpwy 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 eliminate the use of struct page in page pool, the page pool code should use netmem descriptor and APIs instead. As part of the work, introduce netmem alloc APIs allowing the code to use them rather than the existing APIs for struct page. Signed-off-by: Byungchul Park --- net/core/netmem_priv.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/net/core/netmem_priv.h b/net/core/netmem_priv.h index cd95394399b4..32e390908bb2 100644 --- a/net/core/netmem_priv.h +++ b/net/core/netmem_priv.h @@ -59,4 +59,18 @@ static inline void netmem_set_dma_index(netmem_ref netmem, magic = netmem_get_pp_magic(netmem) | (id << PP_DMA_INDEX_SHIFT); __netmem_clear_lsb(netmem)->pp_magic = magic; } + +static inline netmem_ref alloc_netmems_node(int nid, gfp_t gfp_mask, + unsigned int order) +{ + return page_to_netmem(alloc_pages_node(nid, gfp_mask, order)); +} + +static inline unsigned long alloc_netmems_bulk_node(gfp_t gfp, int nid, + unsigned long nr_netmems, + netmem_ref *netmem_array) +{ + return alloc_pages_bulk_node(gfp, nid, nr_netmems, + (struct page **)netmem_array); +} #endif -- 2.17.1