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 BC9DBC5B543 for ; Wed, 28 May 2025 02:29:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9031D6B0089; Tue, 27 May 2025 22:29:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 88C866B008A; Tue, 27 May 2025 22:29:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 61BC26B008C; Tue, 27 May 2025 22:29:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 262C06B008A for ; Tue, 27 May 2025 22:29:28 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id AA9CDBFEAB for ; Wed, 28 May 2025 02:29:27 +0000 (UTC) X-FDA: 83490735174.25.943609A Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf05.hostedemail.com (Postfix) with ESMTP id D658D100005 for ; Wed, 28 May 2025 02:29:25 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf05.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=1748399366; 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=Zj7j74i0j1E76AgLJzy+Lnl5aaK5N/pu+hOUjVArPx0=; b=0dAIIgKb9cVluTG68EzcznyQjb0QGvreImEGPr5ViL9DF87B/EKflXwVE/7JFsp+fg/bWD XaaZYm0q4uVat3TlBqqtLYIqQHy+1yD3porKvv44NACqQInquNo4HivnYMY4+kPD/9c3rf BiXzPSHGtvOzLccXmShe1v+DHY9fN/8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748399366; a=rsa-sha256; cv=none; b=q4GGs7tiJBL8T0jsMp1LaB0uROyqse26J80D+hLDjfYPrqSY0Ps7Scpwjt3+9By7X1jcrk w+93tmylVHu/DHiQkFsU9LLQmZLHxj+77xgaoHO2anLapB9H4hQPqw/20NeiuVt0UhKHY1 9RpysMt+4KE/LPzo3NmOmRlrlbFVkxI= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf05.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com X-AuditID: a67dfc5b-669ff7000002311f-2b-68367501ca7a 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 v2 02/16] netmem: introduce netmem alloc APIs to wrap page alloc APIs Date: Wed, 28 May 2025 11:28:57 +0900 Message-Id: <20250528022911.73453-3-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250528022911.73453-1-byungchul@sk.com> References: <20250528022911.73453-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTcRjG++9cdrYcHJask2XWICqhpaH2JpVCgf+USEiDCsrhTm00l23O GwTeILxHBYpNnZqmlsxW3sKspqVRkdltqTVbaH3IWZo6XWCO8tuP5/3x8MDLENJe0o/R6FJ4 vU6pldNiUjzpU7MDGcPUQbU/FWCy3Kbhljsdbo51UmBqbkfwe2FECDN9/TTU1cwRYHqVR8Ks ZZGA8adOITgaJkjovtRBgLN0gIbiPA8BOZ2NAhhsL6Hg2mI9AR1ZY0J4c99Ew+fbSxRM2IpJ eFbRRIKjJBKemmUw9/wHgj5LhwDmiippuDpkpuFrngPBUK+ThOvZJQgsPXYKPG4THbkZ32v6 KMBdFZ+E2Gw14ruNgbjAPkRga3M+ja3TV4R49H03jQfKPSTu6pwR4OJcF41/jQ+TeKrnHY0t 996R+IW5T4hnrBtj2RPivSpeq0nl9Tv3J4jVDxYGBcltovQpaxmVhcaFBUjEcGwI1/Klmlph s+eGwMs0u5Wz2xcIL/uywdyMs58sQGKGYF0UN27yLEsMs4aN5xzDZ7wOyW7hyibrSS9L2FCu tO4t+tcZwN1qfUR4dREbxj0ZTfTG0mVlqtCCvJUcOyvkir5X/d+zjnvcaCcvI4kZrWpGUo0u NUmp0YYo1Bk6Tboi8XySFS2/tuHin5OdaHrwqA2xDJL7SHBrqFpKKVMNGUk2xDGE3FeSExGm lkpUyoxMXn/+tN6o5Q02tJ4h5Wslu+bSVFL2rDKFP8fzybx+5SpgRH5ZiHj4UhR1Ki5g+0hV 7OSL49NLNJ/ZMx9uqj22sy2ez4yLjPbrL3C9sexS7FusPFDvjtpWJnPmrg62xWyqNM4H+e+J iwh2yQ+VTFhVbpg8uVuQVj71OiipJXzgW7728IfCC2N33dE5/ke6E6SROfoOavvmgzL/PFdM xDnZhuo7H7PlpEGtDA4k9AblX+1hWZzWAgAA X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTYRzGe3fenR1Hy+O0PFggLSoQ80LN/lGUFtGLHyIKM6LUg57c8Mqm okFlXrKsaalg6YSFad5wMm9TTPKSFywUb8xLKtakD6mVF9QZ5Yi+/XieH8+Xh6Hk5diNUccm CJpYPlpBS7H08un0YyjRT+VjnnAHvbGGhuqNZHg7ZxaDvqoJwermlARWuntpKH29ToF+MAPD mnGLAmvPvARmyxcwtGU1UzCf20eDLsNGQZq5QgRdJf1iGGrKEUPBVhkFzalzEhhp1dMwU/NH DAudOgz9RZUYZnP8ocewD9YHviPoNjaLYP1ZCQ35wwYavmTMIhjumsdQ/DAHgbHdIgbbhp72 V5CGygkRaSn6LCEGUyKpr/Ag2ZZhipiqntDE9CtPQqbH22jS99KGSYt5RUR06Us0+WmdxGS5 fYwmpd9+iIixYQyTj4ZuyRWnm9IzEUK0OknQeJ8Nk6rebQ6J4hsdkpdNheJUZJVkIweGY09w BtsbkZ1p9ihnsWxSdnZhfbmV+V6cjaQMxS6JOavetiMxjDMbxM1O3rE7mD3MFS6WYTvLWCWX WzqK/m26c9V17ym77sD6cR+mw+2xfEdZfmpEz5HUgHZVIRd1bFIMr45WemmjVCmx6mSv8LgY E9p5r/ze9gszWh251IlYBil2y0idUiUX80nalJhOxDGUwkWWds5PJZdF8Cl3BU1cqCYxWtB2 ov0MVrjKAoOFMDkbyScIUYIQL2j+tyLGwS0VudZO6Q62BqzdgIsHQuZyfQN1e4YyPY8EvVI6 DaYVLJSoOgruK0N6vXoKZvBi8OjvHv8i5+JP9fHp5/0cveOyTSfHQ4jn4wtxt6xD1wb8M66G WoSIss3GwrMPaqTVj/jQgOuyYPdDkVkdMS28j2Pm9qlajz66/2tW/16cf/t4nkGBtSre14PS aPm/uaHcObkCAAA= X-CFilter-Loop: Reflected X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: D658D100005 X-Stat-Signature: wugky73ayctzyhcqt4rajnjsy3mzoq46 X-Rspam-User: X-HE-Tag: 1748399365-657087 X-HE-Meta: U2FsdGVkX1+fH1hvyCAzTKMGhuI47DAwn3jFkaloUVhefwnIAqvcka+B7Q3Poeu7YDft6JdCK5vFZKIrn2FsfkGsa9Bcv8G27dVvFT+naFGqWF0j9MYYcPCKUtpOEj0Z73stFK6DGSxR8a4wHxbIhehGbuo2DpN2HvIHG9jNWgZlnDha/QUHEoAK5LzKkdRw2nWZANpG1pDj8ajzCG20UM1qixFRFTv5a5HfcDE0MxkwSUQ5rO4q+BJqrIeyB4BXoBmMV4Ob8gE545D2bTYyZZ/5H76wa0nQEj6gxLCiy4JrrdamrHuh3CKpeRZgaUmi6XqeRJfxGx+IKrEjK/1PA8t6whIA5Y8s6cdWdOpIqWV7nQfVjznHTvhPOCbD6pTiDRJ8a7B2pI9hdohILe8fKKS+42n3uuMQIOzLJTU/Fife0hnZxcqKNqkm03KC5Qy+GnIMtWDjo3zb6cXd+Mlpz5/5+IOpfGWhq043lHWHVhK0DeYRjPu4KJ5gvURMKWENbboOkmnGxM/Uj9DcpVaYusz3RiXnQB9ky08eBsLfo/9yixmjFzARbrxQM9SOfMihLf22b34KWHAm45sD1GDpBX5/O8isXKadBU9Ba8EbOFU/kbBbzKDO6Fxjw8hzstEWX63C06HpMseh4f4yWE+so8ScSDxJGc5TRKxZLvzdCdPz7a4BbC8V9z4pYK1CO3M0oTf9d+HNtIJ1QtKZLELblcdN50DUeZ0p55dR8kQ931mL4ZKxM7/scd4SG1sP+kZsKiVQqqxQD7vJchKkOCLSbE6gN7+LVkS6biMs3oXw+MPhnHXNRsrs0MbsvkAfjeZVPxmO+zPxSGziGZITwJCGaovdVzzKlStXKV+Zt9WdT1r7lUlz7t/e+3GsunJZ8AB/w/lOy0TVOVENCWkbpYtfury7tPTMqmBDNivXb3LSa8l2OqLwbXEEVKXo5EXBAq6DBWHvblUYagjOT+mn03B zJHGlUg9 1FZAk3KAHZHAfa9Ftq9F9uxGjvfo8oxzS1UEZuAJX1WIDk7nXmXUpUmwr3xOvhGRidMjV 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 --- include/net/netmem.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/net/netmem.h b/include/net/netmem.h index a721f9e060a2..37d0e0e002c2 100644 --- a/include/net/netmem.h +++ b/include/net/netmem.h @@ -177,6 +177,19 @@ static inline netmem_ref page_to_netmem(struct page *page) return (__force netmem_ref)page; } +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); +} + /** * virt_to_netmem - convert virtual memory pointer to a netmem reference * @data: host memory pointer to convert -- 2.17.1