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 01C1CC3ABCD for ; Mon, 12 May 2025 12:58:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 53D7F6B0120; Mon, 12 May 2025 08:58:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4EBA46B0122; Mon, 12 May 2025 08:58:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 38CBF6B0123; Mon, 12 May 2025 08:58:19 -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 18F186B0120 for ; Mon, 12 May 2025 08:58:19 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id DD7A41A11DF for ; Mon, 12 May 2025 12:58:19 +0000 (UTC) X-FDA: 83434259118.08.940E8F5 Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf17.hostedemail.com (Postfix) with ESMTP id 669F940006 for ; Mon, 12 May 2025 12:58:17 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; spf=pass (imf17.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=1747054698; a=rsa-sha256; cv=none; b=W+B9574sK84s6l+seshgiKqbLKA4yu4Xp62sRg/hUmYRO5HJulzrxiPD3yo4BIawlPLWlg 4gqrI9MJbuuvuSVLEZO4/1sNm0Gp/EpJa8aqzzBvbsyE2VwEhUAP7TYLS61dmCBVZmyWm+ Pm7hnwnPCe7bMzeSIG8Q5ukGqfqOra8= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; spf=pass (imf17.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=1747054698; 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=V2VzT/Vjp4lsm13lN/XZC+uKwqTxRyryriNlDlvXKFQ=; b=pk0tcv+NoeTd+WbkdhaQBK+xxpIPJ4Kw6naaO2igzNiNg7ke8YJrMv530VrE0K5smjZGSo aS6OfUPUG7p+8/vDsBIls25r5CgyDrQYo3Sj1nQQvv/8n4qSxIaY9x366VmUm+umzSxMOf 7VqOOh+kEDn2Q9u1hthzu+Pkak+AOzo= X-AuditID: a67dfc5b-681ff7000002311f-13-6821f067eaad Date: Mon, 12 May 2025 21:58:10 +0900 From: Byungchul Park To: Ilias Apalodimas Cc: willy@infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, kuba@kernel.org, almasrymina@google.com, harry.yoo@oracle.com, hawk@kernel.org, akpm@linux-foundation.org, ast@kernel.org, daniel@iogearbox.net, davem@davemloft.net, john.fastabend@gmail.com, andrew+netdev@lunn.ch, edumazet@google.com, pabeni@redhat.com, vishal.moola@gmail.com Subject: Re: [RFC 19/19] mm, netmem: remove the page pool members in struct page Message-ID: <20250512125810.GE45370@system.software.com> References: <20250509115126.63190-1-byungchul@sk.com> <20250509115126.63190-20-byungchul@sk.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrEIsWRmVeSWpSXmKPExsXC9ZZnkW7GB8UMg6YDnBZz1q9hs1j9o8Ji +YMdrBZfft5mt1i88BuzxZzzLSwWT489Yre4v+wZi8We9u3MFr0tv5ktmnasYLK4sK2P1eLy rjlsFvfW/Ge1OLZAzOLb6TeMFuv33WC1+P1jDpuDkMeWlTeZPHbOusvusWBTqcfmFVoeXTcu MXtsWtXJ5rHp0yR2jzvX9rB5nJjxm8Vj547PTB4fn95i8Xi/7yqbx+dNcgG8UVw2Kak5mWWp Rfp2CVwZh6/vZSr4K1jx4dsXpgbGY7xdjJwcEgImEisWrWWGsT/8+sEGYrMIqEos/XuUFcRm E1CXuHHjJ1ANB4eIgJHE3YPVXYxcHMwCc5klZn2cygRSIywQJDH58UN2EJtXwELi4NXb7CBF QgIrGSWOvO1mg0gISpyc+YQFxGYW0JK48e8lE8hQZgFpieX/OEDCnAKBEj8XnQW7R1RAWeLA tuNMIHMkBPaxS3Q+3s0IcaikxMEVN1gmMArMQjJ2FpKxsxDGLmBkXsUolJlXlpuYmWOil1GZ l1mhl5yfu4kRGJPLav9E72D8dCH4EKMAB6MSD++Jl4oZQqyJZcWVuYcYJTiYlUR4G7cDhXhT EiurUovy44tKc1KLDzFKc7AoifMafStPERJITyxJzU5NLUgtgskycXBKNTCyKeUySk3u9Rb/ kx8rfP/exTu2p//d4d5zfMm681n2f+4rZWW+q5zUseJuJ/+SudPOXdixu0dt48TysCvyz+rr fUWkrGaLfdMwzGc7vOd/r+2BqugK84N7XsXNYz0Rkbsxe314rOelYxzXZi/kkXxXlPx+i+Tz wI4f/yxdy/X2LY0xfF35kvWLEktxRqKhFnNRcSIA5d6Zd8UCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprJIsWRmVeSWpSXmKPExsXC5WfdrJv+QTHDYM4Ec4s569ewWaz+UWGx /MEOVosvP2+zWyxe+I3ZYs75FhaLp8cesVvcX/aMxWJP+3Zmi96W38wWTTtWMFkcnnuS1eLC tj5Wi8u75rBZ3Fvzn9Xi2AIxi2+n3zBarN93g9Xi9485bA7CHltW3mTy2DnrLrvHgk2lHptX aHl03bjE7LFpVSebx6ZPk9g97lzbw+ZxYsZvFo+dOz4zeXx8eovF4/2+q2wei198YPL4vEku gC+KyyYlNSezLLVI3y6BK+Pw9b1MBX8FKz58+8LUwHiMt4uRk0NCwETiw68fbCA2i4CqxNK/ R1lBbDYBdYkbN34ydzFycIgIGEncPVjdxcjFwSwwl1li1sepTCA1wgJBEpMfP2QHsXkFLCQO Xr3NDlIkJLCSUeLI2242iISgxMmZT1hAbGYBLYkb/14ygQxlFpCWWP6PAyTMKRAo8XPRWWYQ W1RAWeLAtuNMExh5ZyHpnoWkexZC9wJG5lWMIpl5ZbmJmTmmesXZGZV5mRV6yfm5mxiBEbas 9s/EHYxfLrsfYhTgYFTi4T3xUjFDiDWxrLgy9xCjBAezkghv43agEG9KYmVValF+fFFpTmrx IUZpDhYlcV6v8NQEIYH0xJLU7NTUgtQimCwTB6dUA2NobY18zNmgMzbKPU4mvFpSRplOAjwc Bn+unpy+Y2W7W/t6tcrDD914/1VaS1c8XX9ebMYehZLyYr45t0P2L9n/JV4u5e/tk1xBef+O e4bwzJ97ZQdj++EdK3ZPOLpQ9vQxRufbN8Li963fNdGoIYxfNkxjakyG4U6DyFMK5/bvONOw LnaCyi4lluKMREMt5qLiRADkUyCsrAIAAA== X-CFilter-Loop: Reflected X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 669F940006 X-Stat-Signature: aq6yuzxo6t9pxn9q9tnm3145jmbwewmk X-HE-Tag: 1747054697-466322 X-HE-Meta: U2FsdGVkX1/O2m990wseISKaq1FxcwlCCHsGVM1TJnIqYzwPR3tp39MZdAiAmTj3BHPNoqK2FZo8bLE+FbcISRpVI5Mzxqdg7GkR51UYDHPA/mtZRncN4HhodXtFc+MeiuqA03nT/kXN9yvLSTUcyVxORYQsPjjRQiyaAuUt2uYJ2EfZ/ofdrFjwaSPZdwoVoejjI4PoQ2OCrDkAlQwzKuYVEAXajITTtkLwwczzM88VtgnFn7+fjOl4uANXYqCsoFzutjGqFW80kwjmKrUiHmt4T/macB9L4sWP+tvKphGoFU+8A3xQWqLaqOhxqrrUatHan4QrpjeFM8LEpvwKaFDuypbZo+4QyAU5r+8iWm3C7n+ht00Uk2MmJpWYkGeSArtSYPtBq4h4V6zPBNWrs81ClZOBAG5yyK+KSTNMUyU2RsvRVpz5YEsY3ETaxpaKkic8N45sKuik+d4kE/2jsFK7YDc/MrNO5GV8WQVw09qPdtfsUITs8No6TFgTkVkMFta2+GJhwdgAbM04/XTDNbEoUH0NxZBCFR+esTIzlOkfhM/LNJQV9wWrf7YK2kyEEoilONz45UPVrSpFMBqzTbvN9ZcIp4+q+D4Gj4C4XPVJiUcKelqSA31boqEiEvxqYky/kJZoqx/tkB18P+9wobk5IQe065XYbnQIFijSvJhoUVhhvncPKB3d1wad9Dybl5kB7hV4+Hs1IhjnvTfMNDdL6vRbw56+9CL/j6LzbAq2XwLdJ8CT/HA90jW52wcQITtuOnIBweDmPzLyu7KCgVxOQogP38a3VK3ayFBMtebJ9CvTu8z5SQVaH4X1MzgXkuP+56FMvIjT2bAWMxOYoStvdHvclO6VgEMLpuf9VRmzhTWGDEmxi6b7NZyvl+vRo16Af4AwqsVpoacKqhbqz4hx773gGkTNW8Jr3ORVmraaerXfphf+VSHL9sMv7c7SGcaUWZl4bE0+U9UV340 nse4H8zP gOIuIikw4Kwid81POgSS4Vvh/5pDMXKCW9hsN6vWqwVUD8a2PCdBZ4J3j09741xeKIqse9ymXDjsLtF9TLan6Kq4kF1/56k6+nhNWrS8EJC3AM7GrJnlv65oYB7NFkJ9fxLnJotMBLtBarn6y98eqaroM/lrh2xBVc61qUu+wFDXZhCMq69XIjNlLUg== 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 Sat, May 10, 2025 at 10:26:00AM +0300, Ilias Apalodimas wrote: > Hi Byungchul > > On Fri, 9 May 2025 at 14:51, Byungchul Park wrote: > > > > Now that all the users of the page pool members in struct page have been > > gone, the members can be removed from struct page. However, the space > > in struct page needs to be kept using a place holder with the same size, > > until struct netmem_desc has its own instance, not overlayed onto struct > > page, to avoid conficting with other members within struct page. > > > > FWIW similar mirroring was intially proposed [0] a few years ago > > > Remove the page pool members in struct page and replace with a place > > holder. The place holder should be removed once struct netmem_desc has > > its own instance. > > instance? To make sure I understand this, the netmem_descs are > expected to be allocated in the future right? Yes. > [...] > > > - > > static inline struct net_iov_area *net_iov_owner(const struct netmem_desc *niov) > > { > > return niov->owner; > > diff --git a/include/net/netmem_type.h b/include/net/netmem_type.h > > new file mode 100644 > > index 0000000000000..6a3ac8e908515 > > --- /dev/null > > +++ b/include/net/netmem_type.h > > @@ -0,0 +1,22 @@ > > +/* SPDX-License-Identifier: GPL-2.0 > > + * > > + * Author: Byungchul Park > > Shouldn't Minas authorship be preserved here? Ah. I dunno what I'm supposed to do in the case. I will remove the author part :) if it's still okay. Byungchul > > + */ > > + > > +#ifndef _NET_NETMEM_TYPE_H > > +#define _NET_NETMEM_TYPE_H > > + > > +#include > > + > > +struct netmem_desc { > > + unsigned long __unused_padding; > > + struct_group_tagged(__netmem_desc, actual_data, > > + unsigned long pp_magic; > > + struct page_pool *pp; > > + struct net_iov_area *owner; > > + unsigned long dma_addr; > > + atomic_long_t pp_ref_count; > > + ); > > +}; > > + > > +#endif /* _NET_NETMEM_TYPE_H */ > > -- > > 2.17.1 > > > > [0] https://lore.kernel.org/netdev/1549550196-25581-1-git-send-email-ilias.apalodimas@linaro.org/ > Thanks > /Ilias