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 7AC1FC54F30 for ; Mon, 26 May 2025 00:56:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 608A66B007B; Sun, 25 May 2025 20:56:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B9696B0082; Sun, 25 May 2025 20:56:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4CF6B6B0083; Sun, 25 May 2025 20:56:48 -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 2DADC6B007B for ; Sun, 25 May 2025 20:56:48 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4A815121727 for ; Mon, 26 May 2025 00:56:47 +0000 (UTC) X-FDA: 83483244054.25.F36007B Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf28.hostedemail.com (Postfix) with ESMTP id 8B0EDC0002 for ; Mon, 26 May 2025 00:56:44 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf28.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=1748221005; 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=uLjV/dac+QxuClomaanHDIz6sNSsHEJOKMtHsgqeOpg=; b=jQcnN++VZQUJtbpRClpO02zgnt9NiShmyFYUgn9CYE/wQ0WUhdulh4EAvkwQtNAf07LIIk I8FTbhH6U7ERaYz8bBMlDdpadzBtUFt4z9Jfc6qI+HUXERoJTF5+eamnkgKs0sc9wsgFVW y1x+Ex0FmxYa9gYcz762SdCvm/02bI4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748221005; a=rsa-sha256; cv=none; b=0IJ0skkYHgM8upWaoL9WgExHPEz1msMfT+ZJgI3ymuvn0EdpTKfRT9/iP563a4nl/uwTUs 4Ta0VVeibQn2fnjkCsqU38027/ZOX1eLJCdqtOkloY2JoID5aX10q+Bk5kVhyr6s/F0WSk dlld91YFPj/TkTAc/jatONyJgubh0tY= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf28.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com X-AuditID: a67dfc5b-681ff7000002311f-4f-6833bc4813ec Date: Mon, 26 May 2025 09:56:34 +0900 From: Byungchul Park To: Toke =?iso-8859-1?Q?H=F8iland-J=F8rgensen?= 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, 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, 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: Re: [PATCH 01/18] netmem: introduce struct netmem_desc struct_group_tagged()'ed on struct net_iov Message-ID: <20250526005634.GA74632@system.software.com> References: <20250523032609.16334-1-byungchul@sk.com> <20250523032609.16334-2-byungchul@sk.com> <87bjrjn1ki.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87bjrjn1ki.fsf@toke.dk> User-Agent: Mutt/1.9.4 (2018-02-28) X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0iTYRTHefZe9rpcvS2zp5SkRRRRZilxPkQURDxdPgQFXSFHvrXpnDGd aRR4A2nqshK1tWhqeUsZLZ2zzGqJZjMSzVppaU6toJLUlk27OC3y249z/uf8zofDUbIiZgmn 0iQIWo1CLWcltOSzf/Fa0hCuDHvfHAQmSxULN8eToKzPzoCp0oZg7Ee3GEabWlgoKfJQYHqW QcM3i5eCweZ+MfSWDtHQkFlHQf/5xyzkZExQkGYvF0G7zcBAnvcGBXUpfWLovGNi4W3VbwaG HDk0tBoraOg1bIFmcyB4nJ8QNFnqRODJvsrCpQ4zC+6MXgQdj/ppuJJqQGBpdDEwMW5itywj NRWvRKTe+EZMzFYduV2+muhdHRSxVp5jiXXkopj0vGhgyePCCZrU20dFJCf9C0u+Dr6myXBj F0ssNV00aTM3icmodeke/pBkU5SgViUK2nWbIyXKwt5c6mTVvKSXDzQp6PscPfLjMB+BC/IL 2H9sSKsW+5jmV+Dah5mMj1l+JXa5flB6xHEB/FbsHD+hRxKO4gcYXPexYjqzgFfj4kuTtI+l PODu6+8oH8v4M9imd4tn6vNx6+WB6QzFr8H1tT2sbyfFB+GyX9xMOQSn116ZHvWbOsFtm4kv 5JfjB7YWkc+LeTuH8/Sdf29ejB+Wu+hcNN84S2GcpTD+VxhnKcyIrkQylSYxVqFSR4QqkzWq pNBjcbFWNPU4pWcnD9vRSPteB+I5JPeXRsrDlTJGkRifHOtAmKPkAdJgU5hSJo1SJJ8WtHFH tTq1EO9AQRwtXyTd4DkVJeNPKBKEGEE4KWj/dUWc35IUFPi6JexCm+78xbu66GzW6726Zhdp zTyeHTmWG/LeGZ7qsGU0t4y6nas6d0x0fT27rG8o/95wTtbBxs7hkYr9Tt3w/aoP/oxKG3Ps Qupg+G3Zbs/452uxXT/n7nw5FMxU79sWd2Bge3DNucr7/SXuW4boF/XPF0e7254e8W4MUGTZ nsjpeKVi/WpKG6/4A6Zhe4w0AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0iTYRTHe/Ze9m61el3LXjIKVyJI3srqkF3sQ/QUkUFE0Jdc+uaGc9Wm pmVkuqhGrrQCmzNXmres0dRthkg5UYfRxdCWafNORVR28ZLRZUrktx//8z8/zofDEFI9tYRR aVJ4rUahltNiUrw7OicUN6xRRhR1iMBsrabhzkQ6lPc5KTBX2RF8m3wthK/NrTSU3BwjwPxU T8J36w8ChlsGhOAtGyGh4ZyDgIFLbTTk6qcIyHZWCMBV5Kbgmd1IwdUftwlwZPUJ4cUDMw1v qn9TMNKUS4LbVEmC1xgDLRZ/GGv/gKDZ6hDA2MUiGq50WGgY1HsRdLgGSCg8Y0RgbfRQMDVh pmPkuLbylQDXm3qF2GJLxTUVIdjg6SCwreoCjW1f8oW4p6uBxm0FUySud34V4NycjzQeHe4m 8afGThqXvP0swNbaThI/tjQL9/gdEG9M4NWqNF4bvjlOrCzwXiaOVi9If/lQk4XG5xqQiOHY KM6YfVfoY5IN4uoenaN8TLPBnMczSRgQw8jYrVz7RKIBiRmCHaI4x7vK6c5CVs3duvKT9LGE Be51aT/hYymbydkNg8KZ3I9zXx+a7hDsKq6+rof2OQk2gCv/xczEy7mcusLpVdHfEwbtM/VF 7Aruob1VcBnNN80ymWaZTP9NplkmCyKrkEylSUtWqNRrw3RJygyNKj0s/kiyDf39jbJTP/Oc 6NuL7U2IZZB8niROvkYppRRpuozkJsQxhFwmWWqOUEolCYqME7z2yEFtqprXNaEAhpQvluzc z8dJ2URFCp/E80d57b+pgBEtyUIXXIP6dcZlwduoTbHF41sELZP+CfN2nTxcY7qW9VL85EZX 17HnojnxCX3enYtSJZ/khyb6gyhdLLM4e2xfY5lseS831aOku7t3uErXvx0t2TCy0b56iyzk fPDp6L0F72Pye8OjeIUzMu94ToDN3T50tv1+RfGx0MAPq1YOB+pM9zLlpE6piAwhtDrFH2vK gPgXAwAA X-CFilter-Loop: Reflected X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 8B0EDC0002 X-Stat-Signature: 6p6z7won5sznc8hcdno3hpmj78bixb89 X-Rspam-User: X-HE-Tag: 1748221004-82685 X-HE-Meta: U2FsdGVkX19h5jcbqim3pwp+5a1FSLwKZkLZDRI/bkDUyuxPDGwEw11PlUjs82f5WHI57rnoAwJx3GupAChPGkfGVhIgvvOuF5itaANxm5mPKN/+Ndl+IpK9NFBqlSvI+lmXdCH/H86Mi8Ukj7Ox1iogVkdHaU+NWIQ32v6Vptw8E+pYjfX66SAAfNpbMj8/1Cr+0GcVXbvY5kkxutptFWiQ17nxMmVuMLZsLbBjxatUIQERGFYQKb1N+wqvFRoir9Nzewc++PmR7cMQVFSWi6WpHOVnhkKyDGoLfypnm4rYgxEuB1RWlel4w3izDVPFwx5RDbY2/JgBa9Z1DDr/auV5YGEVvmILuyUvCZxolWAlt/Z2iPsYNQhKaJ+MJEUlLit3yxlGdiYOCVolpvkXAAbZvalc1X/E18Gk7eaqBSE+TD903w4lVcGIYbm2DnHBi+eViW7qHUjhvod1wCjYFL506jMxcQY8l0nmTjhuRKV56w315nd29Gela4z1UnfrI4E/HAzX8h+28k07yDm0LAuLIJFneklMrFqyRVjk/GXXsRzv7krxwRncSMY7hVxwHO0QInCYqOL8kxI6G0d3cFplPuInNYQm/bjjmmmfXhpLgGndoDCx4MDfrJbqcHW9D/FuyiAJDF2+H2BzDjjn5WWIScHixFigDvNljUcNPWsK2DKVHBadVqLUwSBAit7WoG3a3HaguRl5tyQWE8BlmK5HaPVL5mQtFLDIEISDGvjXUf6nZ3krrUK+lfLFwq4nm5uv9+sWSoCAgk81zTKl2iq26tB+P/PrmN4M94IpLU/1Zwxymg4KjEqYLTn7ZvECuwxHihQyyK0m8rD7tY9iPnf3b4Hvpj0zTC2Xwo7aUQyoI//rwr9nzrXKLUuSIVk/maCtg9VKHuMFveEchzrgAphzws9oJu30CxCsthr6UXAhL73gV2PZqEyO+81DLb8+B0pTBEO4OO3ikOezUTo iyt1fE04 aU0rI4fQB5MHkqyAQ9GtaWQ+do0x6OwwAABXhODY6rpM9mRnM4F6lareL5HjQHzp6Z57BHAbCe35Z8+pX2SomCriekBnt3KU0sn0mytxeNgSovly/MI72fEm8JFQ8D/xYO1HlBpXVMhLEQsElgYdqN1QXdg== 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 Fri, May 23, 2025 at 11:01:01AM +0200, Toke Høiland-Jørgensen wrote: > Byungchul Park writes: > > > To simplify struct page, the page pool members of struct page should be > > moved to other, allowing these members to be removed from struct page. > > > > Introduce a network memory descriptor to store the members, struct > > netmem_desc, reusing struct net_iov that already mirrored struct page. > > > > While at it, relocate _pp_mapping_pad to group struct net_iov's fields. > > > > Signed-off-by: Byungchul Park > > --- > > include/linux/mm_types.h | 2 +- > > include/net/netmem.h | 43 +++++++++++++++++++++++++++++++++------- > > 2 files changed, 37 insertions(+), 8 deletions(-) > > > > diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h > > index 56d07edd01f9..873e820e1521 100644 > > --- a/include/linux/mm_types.h > > +++ b/include/linux/mm_types.h > > @@ -120,13 +120,13 @@ struct page { > > unsigned long private; > > }; > > struct { /* page_pool used by netstack */ > > + unsigned long _pp_mapping_pad; > > /** > > * @pp_magic: magic value to avoid recycling non > > * page_pool allocated pages. > > */ > > unsigned long pp_magic; > > struct page_pool *pp; > > - unsigned long _pp_mapping_pad; > > unsigned long dma_addr; > > atomic_long_t pp_ref_count; > > }; > > The reason that field is called "_pp_mapping_pad" is that it's supposed > to overlay the page->mapping field, so that none of the page_pool uses > set a value here. Moving it breaks that assumption. Once struct Right. I will fix it. Thanks. Byungchul > netmem_desc is completely decoupled from struct page this obviously > doesn't matter, but I think it does today? At least, trying to use that > field for the DMA index broke things, which is why we ended up with the > bit-stuffing in pp_magic... > > -Toke >