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 3B781C54ED0 for ; Fri, 23 May 2025 03:26:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4A1EC6B0085; Thu, 22 May 2025 23:26:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 42B0D6B0083; Thu, 22 May 2025 23:26:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31A326B0089; Thu, 22 May 2025 23:26:26 -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 19A296B0083 for ; Thu, 22 May 2025 23:26:26 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BC6AC120687 for ; Fri, 23 May 2025 03:26:25 +0000 (UTC) X-FDA: 83472734730.09.10D8610 Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf03.hostedemail.com (Postfix) with ESMTP id E3AA820005 for ; Fri, 23 May 2025 03:26:23 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747970784; 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=dYleiNsjCYidZSRWtbVok/+zvXf6yJSUJuziDjU0ICU=; b=D3/YxN1S1OXoUxOuOqbeGoPKGtVUezhkphwfxmWSSuVQnhYrRatQdM/2JC2LKeuDuoi/r7 6vBUj8nemPFGDQHrF8xjFs68ctzMDoXwxNH1+bfQE/5lUuxUiIeEAmcoMM99uxfAf7p7zI FNK2nNfvigBMbhWvJqKWBUiCo5RB4LA= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747970784; a=rsa-sha256; cv=none; b=p6LhhTe1sn22JR0C0eS/3tM3KtceId5ixI/qUj+xpzFdj5pzo34usvfxL1WoNjsbAA0QnR 3tyanD6pfQkz95pPnTVzUsNQT5cRQJ9lYc3sstcGQKdgobSHbX7ZUqBlTqRJl3zBXnMGaQ rvCRhfTDKbak14MWZopuDAeSedAdOtE= X-AuditID: a67dfc5b-681ff7000002311f-80-682feadbfceb 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 02/18] netmem: introduce netmem alloc APIs to wrap page alloc APIs Date: Fri, 23 May 2025 12:25:53 +0900 Message-Id: <20250523032609.16334-3-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: H4sIAAAAAAAAAzWRa0hTYRjHe3fenXO2XB2W1cmoaGCB5Lxg8QYhYiTvl0gUpPKDLT254ZV5 yRWBqRGJUzMz0ZnLyDvN5tJ5QWqtaXRR5oXl7ZimoZjhNW9RzvDb73n+z/P78qcJqRW60ar4 ZE4dr4iVkWIo/ulS4Tk846X0fmkQIp2hnkR1q2moasy8NdU2AbS0NkShRWsniZ4/WyGQrjsL omXDOoEmbeMU4iunIGq/30yg8bwuEmmzNgiUYa4WoJ6mXCEqXH9BoOb0MQr1tupINFr/V4im LFqIPpTUQMTnBiCb/gBa+TgLkNXQLEArOWUkemTXk2giiwfI/m4cotK7uQAZOhxCtLGqIwOO Y1PNVwFuKRmhsN6YghurPXC2w05gY+0DEhsXCig8PNBO4q7iDYhbzIsCrM2cI/H85CDEvzr6 SWww9UP8SW+l8KLxaDBzVXwuiotVpXJqL/9rYqWplKcSX4vS9CUDRDqYpLKBiGYZPzZziAc7 PL05RTiZZE6yDsfaNrsyPuzieCfMBmKaYOaE7KRuQ+AM9jEhbNuIXehkyLizRU/zt/Y0LWFO s7r5uP/OY2xdw5ttj4g5w+aPLpNOlm6dtPUNUk4ny8xTbNVIo+D/wyH2bbUD5gOJHuyqBVJV fGqcQhXrJ1dq4lVp8siEOCPY6rbyzma4GSz0hFoAQwOZi8Qs9lJKhYrUJE2cBbA0IXOVvJ+S K6WSKIXmFqdOiFCnxHJJFnCYhrKDEt+Vm1FSJlqRzMVwXCKn3kkFtMgtHZTJbbbP7uGdI9+O 3L6+3ybCoRd9Hxf3zPj0fjkPc58UeUdMNPOXF2anNfqgeV7826S1Rl8oD867VBp2T+xZFQI9 lwvmcgKbmgIsCa/qv0fv+dEtB90J5Q0nKvwb9i4t776hPlXZFaiJcQTNtoYNmkUPC6f5P9qz rul2/kpkX4YMJikVPh6EOknxDznkrCHXAgAA X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTcRyG+5+7q8HpZHYwIhiEFeRSUn6klgXlnz6UVBQFUUNPbeqmbSpa BprS0NTsSuiUlaTmpNUyLylSal4q0+aF5W2izLLELtbwRqVG3x7e9+X58nKkUEp5cxpdvKTX qWIUjIySHQxK3zbwWane/rooAEzWCgYsM0lQOlJDg6m8CsHP2QEWpptbGSi+5ybB1JlBwS/r HAmullEWnCXjFNQbq0kYvdbGQE7GPAmXa8oIaCpsp6GrKpeGW3MPSKhOHWGh+7mJgeGKPzSM N+ZQ0J7/kAJnbii0mL3A/WYSQbO1mgB3diEDN+1mBsYynAjsTaMUFKTlIrA2OGiYnzExoQpc +fADgWvzh1hstiXgp2VbcZbDTmJbeSaDbT9usHiwr57BbXfnKVxbM03gnPQpBn939VP4a0Mv g4s/fSOwtbKXwm/NzWz46pOy4EgpRpMo6ZW7zsjUlQVONu6ZR5I5v49MRS42C3lwIr9DnFgY J5eY4X1Eh2N2mT15P3F6tJXKQjKO5Kdo0WWaJ5aKNfxhsW7ITi8xxW8S7xTlLeYcJ+cDRNN3 7T/nRtHy+MWyx4MPFPOGfzFLLCxO6nr62TwkM6MV5chTo0vUqjQxAb6GaHWyTpPkGxGrtaHF +0ouLVyvQT+7wxoRzyHFKvlmrVIt0KpEQ7K2EYkcqfCUvxr3VQvySFXyBUkfe1qfECMZGtF6 jlKskx84Lp0R+HOqeClakuIk/f+W4Dy8U5EhSijbEtZyrOOlpafFOXjFf9+RzCcV93UdFvps 2n5svHjKJ7NY0IdUtQcbLcVgo+xDcVffPRIm3hcRxgVjaspa14mITnfE+Q6/lN1jYx3ulWPZ vl6TaSGPujLrfgimcP8q5YZDhYFzihV7Pu4Nyo5SOoxRYfjozt+14cSX6tsKyqBW+W0l9QbV X/liCwm6AgAA X-CFilter-Loop: Reflected X-Rspam-User: X-Stat-Signature: sneh4ddau3bo53s4uda889s1hznc7e76 X-Rspamd-Queue-Id: E3AA820005 X-Rspamd-Server: rspam11 X-HE-Tag: 1747970783-791209 X-HE-Meta: U2FsdGVkX1/iYUTZBByG69kx5GhfYI3HZ/lQ9553jz/YNmgjQsd0uMO8DjQeAdjP5jaJfaSoEjBrR5pI/dYt6jbGEp3KmQmxpyPN7jmHyOIMOyfaJS1Gv4N1gwtqx0mh+QOFVoNioYLMrvzxYxe4QuoBAq8MiV6wMzc/YL4Jmkl6900abaN695KgABnrsyKf2MpeB701dTGAgclYEjJWH1vb4DwqoKZ7X1uyIIQC8SW+z5lPcSnZ2qPPeC27DZm3y6eEK0OaFOd7PuhlVP9H7HBWciZOAkj8ctUHeotnplFs4wkZjYBppuIN3Ni9JDnhGbcOi5dK/LB9tIgcuQ5/P+Y1pFKl48BmAnn3hT3yRev/UgjgkECraBdHDPSW/EkxHvOibD1kF9Ij7uI4IZwXS0SaN9lO1oEsJzGKWY1XiGorBGRiS6SG4/S814/MHdMWeSjL5mXyhPJS9V0lbRxe20TTiJO97q1NOwGLWqFcsq1W+l8Z4OgGzb8vUmEKKonB8Hc3E1kgHRv4o/XLC6VIVibUXYC+CPuCT+1qfxx6rd/9mgTfjwaZRO/Zq3YiP0eHTXAjtQye5uRQEskIBVxv2ukMF/7RRms4/j5mIDHjYekRRo7HMYR6t76ffjXfWy50QBTXH2zvUxkc27BEOjNeZ7IqFH33kZ0vFVx3HsT48opCetpLf8T+3qFLfUzNWsl6f8TJs2p2a2F3qcNrOZDAl67rBJiDz2V0Pun8Jn/JMkInj5NWEygOqPh9orEg9XSbdOT0A5bTc92B0sq1fcLIIX5z7XMGbIp/8U8GQEqE4Awe56ZiXNHI+rORiYSwGq4SdSxerpzuy55rn2HnA9yezIrDtNQSSxYM4ngNMzK2lcgyQAVp2sMc1rdWOXD9NCGVaCgMnCNwq6WfqVj5UKu++meNXM1bpx3Die97qSyp8l+zncmUpwIjqv8k0PxwF5QSVEUoxw3m9/u+Yr+0+2C MD9rySlU dlKwUfqrskSXYK8mvdzN/IQl9k5bjOCLc5+lEYbRcjM+/8fve4n8p8qxqM6J0C1dOZK0I 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 08e9d76cdf14..29c005d70c4f 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