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 05FE2C5AD49 for ; Mon, 9 Jun 2025 04:23:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 06E3B6B007B; Mon, 9 Jun 2025 00:23:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 01F3C6B0088; Mon, 9 Jun 2025 00:23:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E77236B0089; Mon, 9 Jun 2025 00:23:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id CC4FC6B007B for ; Mon, 9 Jun 2025 00:23:07 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 389805DBBF for ; Mon, 9 Jun 2025 04:23:07 +0000 (UTC) X-FDA: 83534567214.14.CE0D9CE Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf16.hostedemail.com (Postfix) with ESMTP id 7A1BB180002 for ; Mon, 9 Jun 2025 04:23:03 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf16.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=1749442984; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DIXbB05u2/zBIVVMU17TfxBHCoU2jtVsqoshUcvzgY8=; b=3uGyrxjL0k0icdo+CL4jkMBfa7cKJ+DRMU3wVOQdh2pxbXR4TOWccRCx4qcRSiZKcMc+dw Lwm74RZFVevKCcJ4fmj5Q8iAqkBeP6p0VRhnHAaWkLDzrGUJ4rcSUGWpDFGTAF3fZGGVpk KGqB9FoCdzQKjKmlN2QjGlRPkunCEss= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf16.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=1749442984; a=rsa-sha256; cv=none; b=MUkAiiMWJqDLX+4wxSIXBnwiryXK/X04iygWXsx+ig4li06EP2w+YjsI0O+wwbrERsNfnC kWGOFWy6HzsIP/tiNzYDn+nB5OlECaaE11Pd/7+EXe+lz/rDfbpJnSxj8a4jXwlUo6bqke degN4jiSuFSoPQgGYHHDg/2h8ZP8/Ck= X-AuditID: a67dfc5b-681ff7000002311f-e8-684661a490e1 Date: Mon, 9 Jun 2025 13:22:55 +0900 From: Byungchul Park To: Mina Almasry Cc: willy@infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, kuba@kernel.org, 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, netdev@vger.kernel.org Subject: Re: [RFC v4 00/18] Split netmem from struct page Message-ID: <20250609042255.GA43325@system.software.com> References: <20250604025246.61616-1-byungchul@sk.com> <20250604032319.GA69870@system.software.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHeXfenR2Hq+O0elMoWokkZFfoKSJEsV6IosuXLpAuPbSlrjgr L5GwVAhFl2WhzVUrLa8xW6YzxHJT00oyw1qlGWZFkYWay5xYTpH89uP/XH7Ph4djlMXSQE6r OymIOnWCipVj+aDvzVUl6m2aNZ2/VoPZWsVC5VgKlH6wS8FcUYvg1593MhhpfsxC8Q03A+bn mRhGreMMfGrtl0Hf7c8YGs7VMdB/vo2F3EwPA+n2Mgl01hqlcGn8FgN1hg8yePnAzML7qr9S +OzIxdBuKsfQZwyHVstCcD/9jqDZWicBd85VFvK7LCx8zOxD0OXsx1B01ojA2uiSgmfMzIYv ozXlbyS03tQroxbbKXqvLJRmu7oYaqvIYqlt+KKM9rxqYGlboQfTevuIhOZm/GDp0Ke3mP5s 7GaptaYb02eWZhkdsS3ZzR+Ub4kTErRJgrh6a4xck9/zmznR4Z+S/7pAYkB587ORD0f4DWTA MYpmubv6K+NlzK8g1SUm7GWWDyEu15/pPIBfSUoaL0i9zPC9UjJ+a6+X/flNpKPyjszLCh5I 6bf0qR45p+QrEal+mCWZKfiR9isDeGY4hExc65payk1xECmd5GbipSTjftG0y4ffQ5z9X6Z5 Ab+cPKp9LPHuJHwNRwpvjuGZoxeTpjIXzkN+pjkK0xyF6b/CNEdhQbgCKbW6pES1NmFDmCZV p00Jiz2eaENTr3M7beKQHQ137nMgnkMqX0VMQZRGKVUn6VMTHYhwjCpAwfdFapSKOHXqaUE8 Hi2eShD0DhTEYdUixTp3cpySP6o+KcQLwglBnK1KOJ9AA4pYcNcVWmqnecHVg7JvN5zm+qiA wpdrhybxiwMxRckdTeL2w5ojT66E7U9fcc2o2BErMsEtmyf9nT2eRUxaLHnlyJu3NW1nVjAj Duq7Q6PjWXdOZNSw38am9vUe4+vnQRHXGzcVPmudn1ypGWqBVOOAY3HZsV0ORTK5vN/3jEGF 9Rr12lBG1Kv/AX9vHBY2AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA02Se0hTcRTH+93XrqPVdVr+sEhYgiTYAwpOKSaEdXtSERkF5UVvbTinbCaa VKaSFKkzi2quWmgttdpY5rTEYkopZYmirdKU+Sp7p5k6sTYl8r8P3+85n/PPYUn5aTqQVWlS RK1GUCsYKSXdEZ4dVipsVK6ceh8ERssdBirG0sDcU02DsbwKwcj4OwkMNzxjoOTGKAnGVzkU /LJMkND/1CWB7lsDFNTm2klwFTQykJfjJiGr+jYB9VebaGipyqfhwsRNEuyZPRJoe2hk4P2d PzQMOPIoaDKUUdCdHwVPTQth9PlnBA0WOwGj564yUNRqYqA3pxtBa72LguJT+QgsdU4a3GNG JkrBV5a9IfgaQ5eEN9mO8vdvh/Jnna0kbys/w/C2n+clfGdHLcM3XnZTfE31MMHnZX9l+B/9 byn+W107w5d8+E7wlsp2in9hapDs9N0vjYgX1apUUbsiMlaqLOr8TSY3+6UVvb5EZCL9/LPI h8Xcatxu/Uh6meKCsbXUQHmZ4UKw0zk+nftzy3BpXSHtZZLrovHEzd1e9uPW4uaKuxIvyzjA 5qEsz4yUlXMVCFsfnyFmCl/cdKWPmlkOwZPXWj1S1sOLsHmKnYmDcPaD4ulbPtwuXO8anOYF 3FL8pOoZoUfzDLNMhlkmw3+TYZbJhKhy5K/SpCYKKvWa5boEZbpGlbY8LinRhjzfcev4ZGE1 Gmnb5EAcixRzZbGXopVyWkjVpSc6EGZJhb+M696glMvihfRjojbpkPaoWtQ50CKWUgTItsSI sXLuiJAiJohisqj91xKsT2AmuqavDTl5gjOlqC1tne7ei32DEdah6C9L+/dtj3ub7hrPXlOB e3zDyPBCMr7Ab9vwdXfLHnuSZB1Rd+Bd5EFtxvirvbG5BUvMGqc5PMMevHJPNKHaOrm4fri5 oSMgVxiMObC+dE5H3+S9kUfFCoj7tDnI1qU/nKK3bkoceDlmdyoonVJYFUpqdcJfF+hmQxkD AAA= X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 7A1BB180002 X-Stat-Signature: znrhom9t4wczi8dhf4dxxo14obt1do39 X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1749442983-420956 X-HE-Meta: U2FsdGVkX1/7kv9qSCcvueuN8Z9WxZJTKhDRi19Co7VJPc2bQ2lbV9txOD2w3LH8YfsxPyoUnP/3N7Wv7UYxV2un6QmgBNadYlvRm2r4Inx0Zfyn2A+4p1QaHjv2emS/N0rJ50IvBuE0n09+x5SwsBEmw00NAut5+U1XIBRPwZil9u4F1rPyE+X3bSfgY9YaG66PfRcAprJ+TJTJYY+nPCz3F5IivqmxX8sS1G2kVcn6e1iaoRs07Gg34gYd4qENpLrc3oh+mpqk41GWbleiuX26sxFco/dmuJ1CKA1KclgUnUZL2bht+9zgsIyk2i8T6X6PLPOx/y1dsk3Ck3e6EwWqWY1FonzMHSjtAkRmJ2WQhOGAzFYBtMV1hjFggC1VY2jFKnx/MsSjclsgxm4M+OR6bQvOOMPBcR7nuxlSXRg84oEqVLeXHtnbxuTYRk/SvcUurmqn9O0tjc/lst1unb7EBpM7ZiOIHpj0bx+XOcl9f4KZpwDuTlKvZMUgf/BCj70x0oAp4hjXy0g46OyfSI6eJ5emVzzjasmaZMK5dEq0BwjcLwzDRH4wYNiV2uGcoQPU1AcNW1UKOsBFYOehtVGRZQzTuxrxt5h+eylXTJCnQfx3MZxSKNTzqXz4EkCYT1JyJfQHBMdvcuUJsfmkG9tzDYgxf+eqJBvyfMywYOlEajHvebgzNajg1T1CS1+dS/cIo+SV5kJAeVmMIkUnAdcaWyN+qAzQPd6yRd2U1fcHr/cKMCtEMNB3W9fq4ppuvMTLkriUYdPPl0tkPi2QPiF+/jg2DkxXVGl4Q5TgaS9PdBsi+kkQ2kzfAPfvyylUqIIyDRWPIFq4m3o4uE1zpkrL+qeHwMWGgPV8TPWOwL0Vfs26YwghvC8dDW6ip8FOkxHkXRO30+yMcwSwjMnxtinxTd06VuyBvZe1RC8AJVUZ3UC0qjZvewmzEgiDpCfXE6sCZasRRc6nD3dntDY JX2UGyHb VK+JI5ZuYZzPGsTCaCL4kqpfOUJBLaZmdY+a/Z7eLQtwLjpI3Ji6ttRW/zrrvBgT6ggW/8ZGrgCWSqeKS+tiH6Z/9o36Y5vug+cP3iZUiHcwTKl8b5P+PUEKw7LknyGMsoN/DgfHBW6rpsQEZKGbh/eV6HCXejrMKc5cTwTSjz/f+CFxRVxZ9uwkXx3Gba1kHO88OQ7h3hT52vHU= 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: On Thu, Jun 05, 2025 at 12:55:30PM -0700, Mina Almasry wrote: > On Tue, Jun 3, 2025 at 8:23 PM Byungchul Park wrote: > > > > On Wed, Jun 04, 2025 at 11:52:28AM +0900, Byungchul Park wrote: > > > The MM subsystem is trying to reduce struct page to a single pointer. > > > The first step towards that is splitting struct page by its individual > > > users, as has already been done with folio and slab. This patchset does > > > that for netmem which is used for page pools. > > > > > > Matthew Wilcox tried and stopped the same work, you can see in: > > > > > > https://lore.kernel.org/linux-mm/20230111042214.907030-1-willy@infradead.org/ > > > > > > Mina Almasry already has done a lot fo prerequisite works by luck. I > > > stacked my patches on the top of his work e.i. netmem. > > > > > > I focused on removing the page pool members in struct page this time, > > > not moving the allocation code of page pool from net to mm. It can be > > > done later if needed. > > > > > > The final patch removing the page pool fields will be submitted once > > > all the converting work of page to netmem are done: > > > > > > 1. converting of libeth_fqe by Tony Nguyen. > > > 2. converting of mlx5 by Tariq Toukan. > > > 3. converting of prueth_swdata (on me). > > > 4. converting of freescale driver (on me). > > > > > > For our discussion, I'm sharing what the final patch looks like the > > > following. > > > > To Willy and Mina, > > > > I believe this version might be the final version. Please check the > > direction if it's going as you meant so as to go ahead convinced. > > > > As I mentioned above, the final patch should be submitted later once all > > the required works on drivers are done, but you can check what it looks > > like, in the following embedded patch in this cover letter. > > > > We need this tested with at least 1 of devmem TCP and io_uring zc to > make sure the net_iov stuff isn't broken (I'll get to that when I have > time). > > And we need page_pool benchmark numbers before/after this series, > please run those yourself, if at all possible: I'm trying but it keeps conflicting on several steps.. Please share a better manual. Byungchul > https://lore.kernel.org/netdev/20250525034354.258247-1-almasrymina@google.com/ > > This series adds a bunch of netmem/page casts. I expect them not to > affect fast-path perf, but making sure would be nice. > > -- > Thanks, > Mina