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 40AD4C3601E for ; Mon, 14 Apr 2025 01:36:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9CC41280034; Sun, 13 Apr 2025 21:36:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 97A4028002C; Sun, 13 Apr 2025 21:36:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 86A2A280034; Sun, 13 Apr 2025 21:36:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 698AF28002C for ; Sun, 13 Apr 2025 21:36:39 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id C59D1C1138 for ; Mon, 14 Apr 2025 01:36:39 +0000 (UTC) X-FDA: 83330934918.06.1A766E0 Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf29.hostedemail.com (Postfix) with ESMTP id 578EB120008 for ; Mon, 14 Apr 2025 01:36:37 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=none; spf=pass (imf29.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=1744594598; 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: references; bh=vDOrRO/u0SfphoUf9lRPoT2KJRHQxk0GxlfV45qrk3c=; b=QqA2bK59RoQUPCbx4GVFH76fy9kAWpjNBt3eiPOahqdcOdjlq9M/71wv9YOoF8jL1n8HbO HEn0xfCENTvrG5xbCn7+8TLGRt5iYvjbKc76qNVjNRNGIkFPe4a2WK8H3wYUm71jCxi6ro v71cfrwVMHSWm48l7+UysBCMv2M5xP8= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=none; spf=pass (imf29.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=1744594598; a=rsa-sha256; cv=none; b=IYRtg7/EkxaOxGHapecQRm7C2wbsgHky6DxoePA9YH1TyxV4xvqJk7H2Sz7di4YIf3suld ajN7fG5EjrUp8YOMGphQnhfZuw0apqRgwXRJO5x0gg2E4kNLmxtWzp9BKiTz1GiYz3WDW9 MM8KItttjuV0FAanqqIdqYwQXQxFqaQ= X-AuditID: a67dfc5b-669ff7000002311f-ec-67fc66a1af2c Date: Mon, 14 Apr 2025 10:36:27 +0900 From: Byungchul Park To: willy@infradead.org, ilias.apalodimas@linaro.org, almasrymina@google.com Cc: kernel_team@skhynix.com, 42.hyeyoo@gmail.com, linux-mm@kvack.org Subject: [RFC] shrinking struct page (part of page pool) Message-ID: <20250414013627.GA9161@system.software.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrALMWRmVeSWpSXmKPExsXC9ZZnoe7CtD/pBqdfcFtM7DGwWP2jwqK3 5Tezxb01/1ktfv+Yw+bA6rFz1l12jwWbSj02r9Dy2PRpErvHnWt72AJYo7hsUlJzMstSi/Tt Ergy1q6YyVbwmLfi087PzA2Mb7m6GDk4JARMJKa/C+xi5AQz7zz5wAZiswioSmy8vp0FxGYT UJe4ceMnM4gtIuAn0TrlOFicWcBF4vmSk6wgtrCAhUT71KlgNq+AucS1SduhbEGJkzOfQNVr Sdz495IJZC2zgLTE8n8cIGFRAWWJA9uOA4W5gE74yiqx4to1Voh7JCUOrrjBMoGRbxaSUbOQ jJqFMGoBI/MqRqHMvLLcxMwcE72MyrzMCr3k/NxNjMBwXFb7J3oH46cLwYcYBTgYlXh4Ew7/ ThdiTSwrrsw9xCjBwawkwsvl/CtdiDclsbIqtSg/vqg0J7X4EKM0B4uSOK/Rt/IUIYH0xJLU 7NTUgtQimCwTB6dUA2NYkPp+xz5blclVayfVFQqvfNPS2WpfXiS5bsvpbz3nZoVqGX1fsDHU /P2+Kcfv/b17cqZbXdzVfQaV7iaC7UXmz7O2y7H97t3zU+uinf1Hk8gjk1e62k/vS37f1SVb X38yYnsqy16/lktnNDdpmt9d/v98479ri5u8BS9ILtvLeL9B7k3Lm7VKLMUZiYZazEXFiQDn LOiAQwIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBLMWRmVeSWpSXmKPExsXC5WfdrLsg7U+6wZSH1hYTewwsVv+osOht +c1scXjuSVaLe2v+s1r8/jGHzYHNY+esu+weCzaVemxeoeWx6dMkdo871/aweSx+8YEpgC2K yyYlNSezLLVI3y6BK2PtiplsBY95Kz7t/MzcwPiWq4uRk0NCwETizpMPbCA2i4CqxMbr21lA bDYBdYkbN34yg9giAn4SrVOOg8WZBVwkni85yQpiCwtYSLRPnQpm8wqYS1ybtB3KFpQ4OfMJ VL2WxI1/L5m6GDmAbGmJ5f84QMKiAsoSB7YdZ5rAyD0LSccsJB2zEDoWMDKvYhTJzCvLTczM MdUrzs6ozMus0EvOz93ECAyvZbV/Ju5g/HLZ/RCjAAejEg9vwuHf6UKsiWXFlbmHGCU4mJVE eLmcf6UL8aYkVlalFuXHF5XmpBYfYpTmYFES5/UKT00QEkhPLEnNTk0tSC2CyTJxcEo1ME51 7hZyOjd786R2U6Fcqc8Mtp6nN9Zs1Hkr4/ltc/yCzc03sp6kfur4ysY5KzShZ6qgQfCNzbN5 WL4x8YeEyTXHBBro2Pzp1g+59MZ5X7Nq5pMJpbMO5EutYFP4s81MbgbL9b0CUVxdv25kbOVU rt4e9/e+97PgyvkHN3T8edWztfz7W/0l55VYijMSDbWYi4oTAdo/0morAgAA X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 578EB120008 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: bhcue1nbdew6r8qiaqxu479zigfiztwh X-HE-Tag: 1744594597-618646 X-HE-Meta: U2FsdGVkX1/Q63f+OH809T4jQ33kn7iQSoQV+3kdgz/9/5Oq4EBkcMjbM/mHWNaM/nptQR9xVhB08ypb9a4ltFXW4vSB2FWhp0QvHMlwDBSkXr5+n+3OcAn/dYOMojI+l3ZThkf1Lv9BJg7KOraQJvTDIUcwzLXki3bop567z6Rp1vhvyhlFggU2+0sFNZd/x8kW8/xbrB564MFLbuOggM1X0EA8uiOM3LoqS68oyUtMPw8svEvaByuJ12VNSrL8ugdsYj6wMK3ZhVaaGTjeBDP8djHuuqyRQ/qJFYcgsTEiHi+FrrF9RJrVkSzcZBk0uV1frSxFsjjBhXW3GEn4ir5Hnoi/cHrLQ9r19niBU8bs6s8Ox1VLPKx3Qd38RRLLxJupwzMM4SXVRwZ0Mbaixum+wl98HK7923nfYXCLc1IJebr+IK0i4KMWTyFDL6HTj+S20xXbcW45s0w+STESWizP/BXFclMpYWZxfTcvNQmAgpOQrI1m+jLWymyA9cU53veRK8sEPGuwFireAlyVc+B7WLF5AP6KK/VpNEV/2ypztEs2O2KSAKGroppW+F55tFH+xZW+eGzo97UfrbC4LgVFXqdBZTu5hVnuBaBl44bid9w94JSFV00Y3KoGH704vhG34JSmxIFaJDlFvK8PAYfjlZN21CqcdlJwwQGJgW539t601tUCuEUg/UoHgv2KQPrA7Racgw5Jsxc3m1yvvC4ASetVdJXStk76jQd0TU0RwMyP//O5tBGTqpARmqNQ2gft9MnLmbDQVdLAkJ9MnKzKTWe3t6ab2qofiSjCxJpQR+z5sRSuQJGBr8dnRQ8zpjhnyDn9qlTUG+RtBo46vDTFsAwJy3IBUHVlD+0LDywtSfbSBsXkCz5zfaMPpZf74/X0b+3Og9RH7TzNWfU8POm5rTnzUPyxPB9CoPlmbQ2hRi/cl5D8zajtqLb49VqEpYrdnuFvMgL1o+SjwSX QVQbD71E DB6Lr62EMKEduFa5qk4MmQCUPyHgvhcjxPCzmejA2JBH0NCJJ49/wdY4kvKJpGhLYft4A X-Bogosity: Ham, tests=bogofilter, spamicity=0.000463, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi guys, I'm looking at network's page pool code to help 'shrinking struct page' project by Matthew Wilcox. See the following link: https://kernelnewbies.org/MatthewWilcox/Memdescs/Path My first goal is to remove fields for page pool from struct page like: struct { /* page_pool used by netstack */ /** * @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; }; Fortunately, many prerequisite works have been done by Mina but I guess he or she has done it for other purpose than 'shrinking struct page'. I'd like to just finalize the work so that the fields above can be removed from struct page. However, I need to resolve a curiousity before starting. Network guys already introduced a sperate strcut, struct net_iov, to overlay the interesting fields. However, another separate struct for system memory might be also needed e.g. struct bump so that struct net_iov and struct bump can be overlayed depending on the source: struct bump { unsigned long _page_flags; unsigned long bump_magic; struct page_pool *bump_pp; unsigned long _pp_mapping_pad; unsigned long dma_addr; atomic_long_t bump_ref_count; unsigned int _page_type; atomic_t _refcount; }; To netwrok guys, any thoughts on it? To Willy, do I understand correctly your direction? Plus, it's a quite another issue but I'm curious, that is, what do you guys think about moving the bump allocator(= page pool) code from network to mm? I'd like to start on the work once gathering opinion from both Willy and network guys. Byungchul