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 268F3C83F07 for ; Mon, 7 Jul 2025 00:21:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 506058D0003; Sun, 6 Jul 2025 20:21:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4DDC28D0002; Sun, 6 Jul 2025 20:21:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 41A998D0003; Sun, 6 Jul 2025 20:21:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 2B1198D0002 for ; Sun, 6 Jul 2025 20:21:54 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9276B57F05 for ; Mon, 7 Jul 2025 00:21:53 +0000 (UTC) X-FDA: 83635565706.29.9C3221B Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf08.hostedemail.com (Postfix) with ESMTP id E8164160004 for ; Mon, 7 Jul 2025 00:21:50 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; spf=pass (imf08.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=1751847711; a=rsa-sha256; cv=none; b=cDw0H791ez4HrHTnRdLEV6y3eMkHqg2rmLSVtA/xN8eXddpUHE9aEob1ogfs+hb/bza7l6 T3n2V02BuywGFS5BjrM1DzUmLjkDdR/FIn244vYkDPVyDPXtOxWrMNgONPtYF6PFnDRW9i b6vnqZIdFrpeq7GdM6tdKIaH+ptkkjU= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf08.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=1751847711; 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: in-reply-to:in-reply-to:references:references; bh=SqH2endJ2ZU5yf6Vz0KTkYnOYbpCSHKe8y+F5maeR+s=; b=qLtmuIbFFPYJqsKgP4yU1l4YWXzXQ3eots2kN0bDBpXuOPrX5hMgoniZOPTCtyZtIT3eN0 WpqpT2epOxCnlmbcA4Ghc9v7ifrnud/V2pUovNZ4hEDKuIb7LuSNB1a5HSOVBrJ8rr1Oc+ g5lmsp0uelpiuTkf5NXAUa9fHJGD4bw= X-AuditID: a67dfc5b-681ff7000002311f-c0-686b131ab99d Date: Mon, 7 Jul 2025 09:21:41 +0900 From: Byungchul Park To: Jakub Kicinski Cc: Harry Yoo , willy@infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, almasrymina@google.com, ilias.apalodimas@linaro.org, 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, hannes@cmpxchg.org, ziy@nvidia.com, jackmanb@google.com Subject: Re: [PATCH net-next v7 1/7] netmem: introduce struct netmem_desc mirroring struct page Message-ID: <20250707002141.GA3379@system.software.com> References: <20250625043350.7939-1-byungchul@sk.com> <20250625043350.7939-2-byungchul@sk.com> <20250626174904.4a6125c9@kernel.org> <20250627035405.GA4276@system.software.com> <20250627173730.15b25a8c@kernel.org> <20250701164508.0738f00f@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250701164508.0738f00f@kernel.org> User-Agent: Mutt/1.9.4 (2018-02-28) X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHeXfOzjmuVsdp9WZFtUJD6KJYPdGFoi8vdCGwEMqogx7aci7b 0jQKrEaRqIVJ5NRYRnnpspqlK5bpXKlkZoZ1stpkXkiyRmbStNtmRX378f8//Ph/eDhKZZZH cFr9AdGgF3RqRkErPkwsWxgRlqJZ8i0vDkqs1xi4+jUTyrvtciipqkEw7H/NwmdXEwOXLo5Q UPLURMMX6ygFfY+8LFy1bQLPlX4aHCdrKfCebmYgzzRGwX3/RxaO2Stk0F6TL4fC0csU1GZ3 s/D8XgkD7ms/5dDvzKOhxVxJgyd/LTyyTIWRx4MIXNZaGYzkljJwtsPCQI/Jg6Cj0UtD8dF8 BNY6SQ5jXwOO4odudu180jjoo8jtylcyctf8liUWWzqprogmOVIHRWxVpxhiGypgyZsXDoY0 nx+jyV37ZxnJO/6RIZ/6umjiq+tkiPV2J01aLS52S+h2xapkUafNEA2L1+xWaNyuXCbNG5b5 8oyXzUb1k3NQCIf5OJztaWP/ssN9Rx5kmp+Pv5fVUUFm+CgsSf5xDg/kpuoiOgcpOIq/zuBC dwsKFmG8gB3eYVmQlfxyLLU/GT9S8RdkePhB758iFLcU9dJBpvhoLP0YCORcgGfg8h9cMA7h Y7C/0z4+Ygo/D9fXNMl+j7Nz2Dem/c3TcUOFRJ9BvPk/q/k/q/mf1YKoKqTS6jNSBa0ubpEm S6/NXJS0L9WGAh9z5ci3HXY01B7vRDyH1BOVSxL2alRyIcOYlepEmKPU4coTTIpGpUwWsg6J hn27DOk60ehEMzhaPU0ZO3IwWcXvEQ6IKaKYJhr+tjIuJCIbbTvxYDRqo9k5NMu02+rvG7iV 9P79ThW/bnVsQvGxZzsPz5kt1DfM/TKptHBrlLA0Kfy6/WbbrgmRzeA5XXBoDTnevipBP3R5 DxJiF7y2RcKApOi5sXJFV8S8/TpJSqzx9a2eqTvny1i2OdJR/i6sunVwQ7zFiKO6nyV6Vq5f ENOmpo0aISaaMhiFX7d721stAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTcRiH+Z/bjsPhaZodrD60CsXSlG4vGGYfolNkRBBBRHnQQ5vOGVsb WgSmK2vlvQ82L6wk56UYTJuzlprXpJso1iqbY6nYBc2ckpnWJkV9e/g97+/l/fDSuHSRCKMV qrOCWsUrZZSYEB+Ky40KC06Tx9gur4EKy10KGr5ngtltJ6Gi3obAO/9OBDNdvRRU35rDoeKl noBZyw8cxno8ImiwJsJIzTgBjrxmHDyFTyjI1y/g8Gh+UgQ59loMOiv7SOi3FZBw48cdHJqz 3SIYfFBBgevuLxLGO/IJ6DPWETBSkAA9plCYe/oFQZelGYO565UUlA6YKPigH0Ew0OkhoPxi AQJLq5OEhe++HeXdLlHCRq7zyxTONdW9wbgW43sRZ7JqucbaSM7gHMA5a/1VirN+KxFxw68c FPekbIHgWuwzGJefO0lx02NvCW6qdYjiqie+YpylaYg4LD0u3pUiKBU6Qb0lPkksd3Vdp854 gjNfF3lE2ag9yIACaJbZxjpc90k/E8wGdvF2K+5niglnnc75ZQ7x5frGm4QBiWmcuUexN1x9 yC+CGZ51eLyYnyXMTtbZ/3x5SMpUYay3bfSPWMH23Rwl/Iwzkaxz6aMvp328mjUv0f44gIll 54fsy0esZNaz7bZerAhJjP+1jf+1jf/aJoTXoxCFSpfOK5TbozVp8iyVIjM6OSPdinxPUXPh Z7EdeQf3dSCGRrJAScyxVLmU5HWarPQOxNK4LERymUqTSyUpfNY5QZ1xSq1VCpoOtJomZKsk B44JSVLmNH9WSBOEM4L6r8XogLBslKk1M47U4nXdeaURJyXhLdW5w61u3KV9UWYo67nljZma fDpukkV5NjdeORivjziRyKyM99bsd15LCjUpX1QrPl/CtPDMbUwMakjcsSvj6NiRvaYg4/lp szFu9+NNn0pm7xe6hk2VCQ/3rI0PSk6PC+zd2phUNbGxPXVUl0NuapMRGjkfG4mrNfxvX+2S LBADAAA= X-CFilter-Loop: Reflected X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: E8164160004 X-Stat-Signature: 3aeeoi33asxxm6bhfe1amoze5q9pd9d5 X-Rspam-User: X-HE-Tag: 1751847710-722799 X-HE-Meta: U2FsdGVkX1/lFCtoMs4VtEyqdD44xajRZwaxP3hO3pMxYMXdqG1a0wy9ClcSGfbqJiYqcSgU4H7ODTcKbXZhw4YG3gU1HJP62iuz/aL+XoIsAIczfgrEdRe/U0La3mogkfiY8NEbTNpTXEBWZiR7kjWBxc2W5p9ZvHyzwI1zMKCbknsTw+514qq1OETHZjZvC8U1fRBVTq3EM+oo4kr2KSGpIG8VtveWWohde5KD/BRWIxoUWttXkPUiTZr1nwhU9q3dKD6rguq7F6DTIqPl+q937Snjky6LOrmS07te81lI4YKD72feq7oei9O9LcmDe8O+SRSk8OQQRnWp0XMWthgmorGtnnutbxI5ENSlZ2Sff/kbu1v5Yds+bM8B4bCzPytOmtYPKw7O8R7Za/JxC+QZ5Lt2GfbzgE46FBiHPxdIXr4VH6npUgYskyT8ZXo9wOp2GOumvRSRDZPpwURtkUj2niaIbzn1pa2E/nr9+isAh03VyOfrnC3txeeturCxsiPpL0FTh+eQCAz5EKKlJgeRjobVSbNc1KGfwc5nX/71PkxrtSG10J9KUn2ZbQn9gc4gJL7L5iM/BRtAHS8D0+uUV2QeR+FOay8BP5cbvP5ho02AdK9qu9o+GsjbR2zYDi4ueCJpE4PnC6rbUFcJXt2ZcnuzwC/ODVAqoiZlcbVVINKh0Jka4bFZVfkPyX16zYvFg9O2qyEHhGu+UfA1B9wfhr4zI27GXnNaC2BdsUnkhVjjE2Cpf5ISxZGWPpEsCxCact9Zj/t5M1S62+qtbjNHLFz/jd6hOHAXMaa2R8llFfUOISP+P2qGmDOhSi94ohgjItc9izGzt0Pzie27Kf8hQ56QTUCUCsNalgd2Z2JpoVKFMObLN0O2qlbOkFhpKa2E7gX4PPsUgKEPM6VsA1/v0MmVX7TWiEW3nta3s4V4RQwY3IK/M9MT4Aep5f6gmD+XF3gXUkFTsrJFZtC F+6G2IWT YW1cIPlyAoFuqT4EhhDKTCXwvSPZ5Gj6GdkdKwgJSQ7nkLayzEG9G4oCyjokbXkiQa4VhrFZYq2ogGA9t3WLxhYnUzi81dpQQYzzg 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 Tue, Jul 01, 2025 at 04:45:08PM -0700, Jakub Kicinski wrote: > On Mon, 30 Jun 2025 08:34:48 +0900 Harry Yoo wrote: > > > Ugh, you keep explaining the mechanics to me. Our goal here is not > > > just to move fields around and make it still compile :/ > > > > > > Let me ask you this way: you said "netmem_desc" will be allocated > > > thru slab "shortly". How will calling the equivalent of page_address() > > > on netmem_desc work at that stage? Feel free to refer me to the existing > > > docs if its covered.. > > > > https://kernelnewbies.org/MatthewWilcox/Memdescs/Path > > https://kernelnewbies.org/MatthewWilcox/Memdescs > > > > May not be the exact document you're looking for, > > but with this article I can imagine: > > > > - The ultimate goal is to shrink struct page to eventually from 64 bytes > > to 8 bytes, by allocating only the minimum required metadata per 4k page > > statically and moving the rest of metadata to dynamically-allocated > > descriptors (netmem_desc, anon, file, ptdesc, zpdesc, etc.) using slab > > at page allocation time. > > > > - We can't achieve that goal just yet, because several subsystems > > still use struct page fields for their own purposes. > > > > To achieve that, each of these subsystems needs to define > > its own descriptor, which, for now, overlays struct page, and should be > > converted to use the new descriptor. > > > > Eventually, these descriptors will be allocated using slab. > > > > - For CPU-readable buffers, page->memdesc will point to a netmem_desc, > > with a lower bit set indicating that it's a netmem_desc rather than > > other type. Networking code will need to cast it to (netmem_desc *) > > and dereference it to access networking specific fields. > > > > - The struct page array (vmemmap) will still be statically allocated > > at boot time (or during memory hotplug time). > > So no change in how page_address() works. > > > > net_iovs will continue to be not associated with struct pages, > > as the buffers don't have corresponding struct pages. > > net_iovs are already allocated using slab. > > Thanks a lot, this clarifies things for me. > > Unfortunately, I still think that it's hard to judge patches 1 and 7 > in context limited to this series, so let's proceed to reposting just > the "middle 5" patches. Just in case, I sent v8 with the "middle 5" last week as you requested. I'm convinced they are non-controversial but lemme know if any. Byungchul