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 A9C3FC5B559 for ; Wed, 4 Jun 2025 02:53:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4817E6B03C7; Tue, 3 Jun 2025 22:53:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 29CAD6B03CD; Tue, 3 Jun 2025 22:53:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F1D916B0548; Tue, 3 Jun 2025 22:53:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B4A2D6B0549 for ; Tue, 3 Jun 2025 22:53:03 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 1B567121F2E for ; Wed, 4 Jun 2025 02:53:03 +0000 (UTC) X-FDA: 83516196246.16.E00D106 Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf03.hostedemail.com (Postfix) with ESMTP id 44FAA2000A for ; Wed, 4 Jun 2025 02:53:00 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf03.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=1749005581; 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=OG04mFV6w+wAeLnzElViMoa1tTLq2Psmg2r4vxZddDihWeF2Bbtf5pXTM/VTusnK2lYua9 P78uk7ZG9FKKRZ1ullBIcF6QRWPeIuacWoQM5u66PowM3C6UKzL1ugPfehyxXS1T5Lh1Q5 lGbrR6AWE8N4LWnSduZkTrcJpZvZ50k= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf03.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=1749005581; a=rsa-sha256; cv=none; b=NId1uP0me/aaU49gzsdvzpC+ZePE6/mAWlrOgzt17S8tQd+eYcW0SLUiDIjW79WpkaexYK +uyWKxsoGz/Z+BgKOAvVbwwYpeuQ7UvMsiRp17VW798FrzK73Q/jE2NNJDcos723qHimQ1 6FDkpPM0LapkKk01G8hTj8R9yZ3iO8c= X-AuditID: a67dfc5b-681ff7000002311f-ce-683fb509c117 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 v4 02/18] netmem: introduce netmem alloc APIs to wrap page alloc APIs Date: Wed, 4 Jun 2025 11:52:30 +0900 Message-Id: <20250604025246.61616-3-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250604025246.61616-1-byungchul@sk.com> References: <20250604025246.61616-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTcRjG/e+cnZ0Nh6clelTMWhdTULMs3yDULtSBLiR+KoMaeXJLnTbv QqI1qK2cUZmmM6aWeYvVvG0ikhe8pJJo1iptYqiYpuRK1AnmLL/9eN7n+X15SUzUjruTMnkS q5BLYsWEABf8dCz149eHSvf1rnmDVl9DQPVSGrwcM3JBW9WA4PfyVx5YO7oIKCtZxED7XonD H/0KBhOd4zywlE/i0HynEYPx3G4CcpQ2DG4ZKzgw0KDhwuOVFxg0Zo3xYKhJS8C3mjUuTLbl 4NBTWImDRRMGnToXWOydRdChb+TA4v1iAh4N6gj4rrQgGGwfx6EoW4NA32Lmgm1JS4TtYOoq P3MYU+Eoj9EZkpnaCl9GbR7EGEOVimAMCw95zMjHZoLpLrDhjMlo5TA5t+cI5tfEF5yZbxkm GH3dMM706Tp4jNWw7Tx1UXAkio2VpbCKgJArAulUbQEnoZ6fZpkZIrLQKE+N+CRNBdGaZ5Pc TS42zWN2Jihv2mxe3mBnKpC2jnfhaiQgMWqOS09obRw1IsmtVARtVR63I07tpvs7z9rrQuog vbzU/l/vRVe/fruh4VOH6JG5fI6dReudHOMHzK6kqWUePfPEiv4N3OjWCjP+AAl1yKEKiWTy lDiJLDbIX5oul6X5X42PM6D115bfXI00ooWBiDZEkUjsKDSOhEhFXElKYnpcG6JJTOws9PJZ j4RRkvQMVhF/WZEcyya2IQ8SF7sK9y+mRomoaEkSG8OyCaxi88oh+e5ZKPOU2653eSpTysSY 09yZE6vT7XtyL6leZThdk+QpmwLCt7gHWvX3steie1a3Hy7puqu+Hpkf7MiGswO+/X6etbSD T+pw6sx0X9mxtRuzRS0anefsp9NjrCW4e2ere97zmKdL1Mm4N/JQm2ol09UjXbXX41zS0c7S wgNBlS4Xpn6MiPFEqSTQF1MkSv4CCYnh6dYCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTcRyG/Z9zdnY2HJ3M9GgfrImJRpaU9cvKSxEeugp+sAuhQw9uOJds ahoE1oxwNS1TEp2xsLwOF/M2zcymeKGs0JSV2szQwkRdmqjr5qS+Pbzvw/vlpXC3CsKbkinS OKVCIheTQkJ4+qB6p6AxXLr7RaMX6IwGEmqXM6Fy3MwDXU0TgsWVET4sdPWQUP5wCQfdmxwC fhhXcZjsnuCDrWKKgLabzThM5PeSoM1x4HDdXIVBZ1kfD9425fGgcPUxDs3Z43wYbNWR8NHw hwdTFi0BfSXVBNjyIqBb7wFLL2cQdBmbMVi6XUbCvQE9CZ9zbAgGOicIKL2Wh8DYbuWBY1lH RojZhur3GNtSMsZn9aZ0tr4qkNVYB3DWVJNLsqbvBXx2dLiNZHuLHQTbYl7AWK16lmTtkx8I dq59iGTLv85jrLFhiGBf6bv40RvPCw8lcnJZBqfcFRYvlH6pL8ZSGwWZtm+DZDYa42uQgGLo vUxZyxzuZJL2Z6zWlXV2p4OZhYkeQoOEFE7P8phJnQPTIIraRMcwCzlHnUjQfkx/9ymnLqJD mJXlzn+TPkztk471GQG9jxmdvY852W3N0Zrf4XeQUI9capC7TJGRIpHJQ4JUydIshSwzKOFS igmtvVdx9eddM1ocjLIgmkJiV5F5NEzqxpNkqLJSLIihcLG7yCdgLRIlSrKucMpLccp0Oaey oC0UIfYUHY/l4t3oJEkal8xxqZzyf4tRAu9sZHDUlk37+rvqD3TMH2uNEW++NXbkWWGdIdlc 2B6zKrWuDkybfm9TWSrV4l/zM58S7H75YTP2qNBq/VZfz/y6UJelOXXEuf17tkdfuDyiri/Q esQKz0bmGi7eSHKUGjc8iDu5Iz58+ERRxevnwWlwJsBrrOhR5LKnx9OG7MOu/fY0MaGSSoID caVK8hfND+SUuQIAAA== X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 44FAA2000A X-Stat-Signature: 44agkp1yigxfzrm61p4nshfjuadtcmyw X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1749005580-361203 X-HE-Meta: U2FsdGVkX1/1FADHO6VAp/q7kKd3ticgifyS1rsKDA/fmjGB2gcJJRXpaveHq+gGyJ30db2wHzItSZSQbqMMf7jRLBJNiSrC1Rokl5pbkD3JTIuKLJFio5yYeTZh+tp2EVLvoYEAaioZf96rY+xIssyaZbCOEMO7QvzY4P1RoYgusMAQnKNQUvotID1NZPQBCi2n+FhQoYj6DPozzUXCCcTNZZjaX7Vkn9rriqh0XEd6+xyUlvCBuiELiETuP+XItiHs1BBhzQzt5E/MvHPhG5g+8KNI3pa03EnJiLUyRk4nH5rUeTgV0HCoSLkLxwM254ZfySQwFM7DT5wiIElzlToFyZvNfPPu2wcpOX/9GuzO5IBG0bd1i5iIYALJARS4btm/jihSPQjomdS7u1BXC6g/QKJdE6ksU/SFlHfSIHooJOekQOH3SJ1PY6PBNlGTZCqQJVqSnKak1Kbdc5d4hBCizsFA7FJqU5ga7S8DSb3QsQp3wBHdti3iZ+Itw0WnGXGxEW4VPtcqTz5vMpr/h69TAXyb80YuoQNft8Om8NPa5ic0hjiE5o2NJAdO97KtuDgU4BjqKawHUFfgJAccrhpcnCnngG8RfUOuPeSDo37pZJTvLOoKm5spajSUse2VKEjJqbhiHQAOt7aQQ6SfeKyncO1Q4YS/v6IKD+jOa85Otk7NWpRkrT6fQUEsykoVtpHaaYNQ5Po7b/TOWiO/CUlk8pHuQejNyTYnnZ8zfy5wE8jWTfYrUhg6TrEDTKxnaQg40YQq1QXMClLFv0FHf2VHsbPqZn5cPXxo1ACg0Q81nJFtxa4UskAFdyefZjssJIzi2opFOFjJwvwx75SVALvvslUhPXHDDugAv1P9prVcQZU/FSTPDlZLyLayxXXCzttaG1vDXoRl/KOZp6AIymBOKIESpsdl8f98E/n6pAl4ikN2J7wZl4gykCziT1mLXDyaSCh4yB2lTqsiX9P 8rfWGLWh 5JVV0XOD51cDLMWXOpcBnpaBwSBkMynssdqG/oPx5GmUuJAV5Chv8SVyTZGhF3yOuNN5q 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