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 838DCC369AB for ; Tue, 15 Apr 2025 23:22:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 469A42800CA; Tue, 15 Apr 2025 19:22:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 419172800C8; Tue, 15 Apr 2025 19:22:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2E04E2800CA; Tue, 15 Apr 2025 19:22:37 -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 123642800C8 for ; Tue, 15 Apr 2025 19:22:37 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 7177B14121C for ; Tue, 15 Apr 2025 23:22:38 +0000 (UTC) X-FDA: 83337854796.28.9F98CE2 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by imf03.hostedemail.com (Postfix) with ESMTP id 50F1820009 for ; Tue, 15 Apr 2025 23:22:36 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=V47rSYPi; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.177 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744759356; 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:dkim-signature; bh=EP7nIr0SUVYwwMMer+iQp9uImWC3uMZIjhy2BmMjBms=; b=yaHBd+PN0/LNnFfnNUyJRqdfxTQk49krv5U6AXdKQWPnJWHbIaGpMVuhYvwNVPY2UdadNQ YEzgCvDqj6kL4yiPdFCp8GMxDymCe3Co3Myzlc+a6+/GdRogydsLNYUwavmADky4XsmmpZ 2TQsJCdAqJ8r4MbFgvWJ3UKM5YQo32M= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744759356; a=rsa-sha256; cv=none; b=tDPQiu2EXqN278Ez0eTVQeaqd4w5Z4EpFO0F0VDq5Sf5wXiEKNtw2KyvZ4Ta7SMLyUqLy8 QGzufrCB6P26olTcXeGhAGi/AiobjgZ1I7kO+sOQsxFZ2YHWazJF+4eSzDtnFX8GFzPacX Y03TJHap2eH62hNJf+crTf+U/0FGNzw= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=V47rSYPi; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.177 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-7376e311086so8066977b3a.3 for ; Tue, 15 Apr 2025 16:22:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744759355; x=1745364155; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=EP7nIr0SUVYwwMMer+iQp9uImWC3uMZIjhy2BmMjBms=; b=V47rSYPiczyzZfy+QoGHilVarzgNDeBhm/xMtN5tN03+5Hh07t+kWxN5oYmKk/GPly Q3HxtLEe1ZXbpY+5q7dR8YiK/1wocGlZg4/wxDkDpFohTU9CMAjNyUstTEB9TK3vwbV5 Gs4Gd2ZVfQpREo283SpPCAx1tF0KcnWkP7zDqMw7QrmfAngGOd3Tr0N7qrJdMTvMTt+b j+QdQXGb1oyL5rAy5CJqlymQDGyzuvE/sIO6h2jt3hBoxsc4LOibX9u/CFJlcYRHhyuu 10yMi2y4O4shue4HcLedq+5HL2rgV4TUQW6rd7zEmMONlECWEOt9r+pdr/vyJ7SNXuqn 5yng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744759355; x=1745364155; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=EP7nIr0SUVYwwMMer+iQp9uImWC3uMZIjhy2BmMjBms=; b=qqGAcK7DFqpjyaU4jU68x1cALZ5zA3OPFe+sBHg8I+WJk+XaCPyKHITnW3LU39iHVY 7YOEsJSzH6gCvloNK+jQ2WFP+XlRCrO1IaIwT3S7+njxYWNzHMhhXaX/dMjmNmsXNWx2 xXGWsO/Wt0BitG64HKXLcmT7Vn4WxMskzlw/VyFzkuXiV0XJJlykfy0JA4hIY4TaE9rL +zIzhVYFEuAwYOfDu90I4B3n9FrvAr4a+Ip/Ag5wS0gbZhUGKE3SVpfd4iSJLH8Byuf0 pw7M9TrrRjww9ulYcltmLxISWfM6AcghonUINY+3eq2gPEU1e670H1FSdW/QNX2Bo+6r zwxg== X-Forwarded-Encrypted: i=1; AJvYcCVLDAo9+WuWHa9/kNWxPl92VO4zCs+nSa8A3qI+SUZQ1ckVcmknzg9yMqCTfCkrN/sJ5NqtnpDLFw==@kvack.org X-Gm-Message-State: AOJu0YyqJHWcZ7Gv/RzRwAjMhXD7Csknr0GMRAOgcGHfRrk8kdzgAuBt gmzRXhh4xvvgMbsZc7YjZGX0ILeUGw02QjSqADib74dFVf36LvvC X-Gm-Gg: ASbGncur7PdreIPmRbe02GCYxTtIO1rIN5uai5b4UCjtl2mRr+GrMkhnw6V0SHC+9P/ 04ytIsZ4SUCwGXJjIE6b+LB9EyGuMUS8rkmDAvArBn83sTUBWiAzrohFS37BnUe4PNFEaBAhO8i ezgcI+Hydaf/5f24VJNB3uTBkl52ES5wSHhVb1rRZQTxWLowCuzwq8vy6M7DuvezYSvlmdFvnmQ wRPkythvEfWUujW8j2KkB2aPzL1NFPS89C0jk4Uh7+mmTOLhU/SxqB3bGtl0/yuY1Kr4p86uxjy SCGewjpxCGBe1kK/RwpLXHgxQyHEpo3VdkgtX9RWTKWLyXOm9rQwykPJGPzSyL23EYmYAkxQ X-Google-Smtp-Source: AGHT+IGocWGdZTrh6OGkJ0QzNU9pXJ/Uks1xu/3HkfWbn+ozVkPlWrYl4IK2XYZD1CXSX1c46+Hxzg== X-Received: by 2002:a05:6a00:cc4:b0:736:592e:795f with SMTP id d2e1a72fcca58-73c1f8f7f6amr1544883b3a.9.1744759355104; Tue, 15 Apr 2025 16:22:35 -0700 (PDT) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-73bd21949cfsm9073828b3a.29.2025.04.15.16.22.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 16:22:34 -0700 (PDT) Date: Tue, 15 Apr 2025 16:22:31 -0700 From: "Vishal Moola (Oracle)" To: Byungchul Park Cc: willy@infradead.org, ilias.apalodimas@linaro.org, almasrymina@google.com, kernel_team@skhynix.com, 42.hyeyoo@gmail.com, linux-mm@kvack.org Subject: Re: [RFC] shrinking struct page (part of page pool) Message-ID: References: <20250414013627.GA9161@system.software.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250414013627.GA9161@system.software.com> X-Stat-Signature: jn1oerf3ggi46g3xj4rnebxaifq3qet9 X-Rspam-User: X-Rspamd-Queue-Id: 50F1820009 X-Rspamd-Server: rspam08 X-HE-Tag: 1744759356-146691 X-HE-Meta: U2FsdGVkX1/1rqYOB3qVf3bfEaLdiz6DcZhRcAaiCQC7pxF3t9OACU3Zt5DDDu9eYe219pO6U0THMjfgYK0G7HO6AR+Z3XNuYRyXX4NQ4PFSSNW/kf571BVcSBfSi/4hP/eRbGvmaE2ZocX4VKBT3BNxUHnC72wrygp0ZmOO5pR7fxt770bqIvY0NQgjDlv8rfKx1sG8WuTHH97KxXqosjf1LXHr2mfGeCpaiihFvPh8AKdibQAVPoJ/9N/zz7tpWivfjID6HeRiWKbVXPC0f3nMlfxA8G+spuHFzKPXr2Pqkgr0KOwFrlV1zeaf8OMQxUOr9CzLlUF3BG4T4SjTj8uV94poKlyqc4Psfp7EmMdbbzHTXXusnwBH7LrEflBDnv89p+z+qkjS5AepojOXaH/2pTuQpVLpKEiKKET4khwpXxwdKbit0yn/38BvIo03btf5qUFQJKlDYois8f70Ccn6zFIbnt/3IU/ebYG83veBXqSiLBgPcl0Vl6FIcvU2QIK1Ran0YKSjH8nRXg52tg6Dj/UuqpvoB+vQ9O7OywqiG8K4f+Yqik9O3NjSGnAWM9NjRzoovwqapQT8/Q+TveSw7DZkq67THQlNXgN35mILdFHRspyu4CYtkJnA+/T7oXfdaT19ct3jqcD/kB6lOj+U6RGTbTAjappEf0CXx/EodL7a/ywm/2A+UTQR9AbB2GqsGRhHpwR0uaS4PT2iBK2ededWhtk9oAgnxgmv1zkNjeiKY7u+Ac5roxaPkBKiojAZ0Jy432lQ3JJUUZgbOdXyHOA6cZPAGSId7+Lbj01m/isRb6iLKIIu4jayxaAgvbfzirOgyUn4qwvw96Pc3Okp87BySOrP1Kg3z2oSUgxzvc2/T4CUg4dDxXrTabaEPYTNvDoQOXBszCqme9QUPR87iMRKFLpLi5hGGal+koNs6dA8oE9xlOmx/5/iy8PJ1wDrj9aQikW3tJUtQa+ xROIuT49 cdekgfBOgyKGMc9fCEWcuv37Wj6WsIetSAGVnq0cmDB8nY95iXisKLpUYn4zw3eCVUYGuAlSm6U5JGQF4u3mne144yS60fRCgAQX6Vwzty8CZFGE9PBp2c5apYOIKJWe7La0HIDXSmlh8vOUfQyDd8bASKX2wzYRj+xtLVl795YSMVKVbojef/Q5Y4+9hUqOduoose5VV4hwHyEHIHL/RpVHNPXwOmTkFTxeRiy0rfUoCewadGznF4+yie5WcpgWALsTzc9/vL+ImnME378AEyAGhXjgighIqdc19sf3VlCn1hAqWU+u3LZW1jJ2f/hGvcGLQwA4RVITMoEIxyB4agZ5rlq2Lh3OYYpPfu3O28sDZqFUpbxLDuQuT4TAfwNYnFgn/nhn6Nm99sw+4wRUK7zYmTE2qf+9d9ldWnCP030A1FpvgBvNgaCp2AcRBA6gCjhyS+Fh/C36Oc/GQ9SvcB8eHU2ppwXUp1thy99oGur7lWirq/iSfeD0h8AzwxTM7JZRUPwQsYk6K/L+pls71j3zeeaMMyiA5iuHM X-Bogosity: Ham, tests=bogofilter, spamicity=0.007971, 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 Mon, Apr 14, 2025 at 10:36:27AM +0900, Byungchul Park wrote: > 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 Thanks for looking at this! > 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. I have a blog that walks you through what I focused on when making ptdescs. It would benefit you to look at: https://blogs.oracle.com/linux/post/introducing-memdesc I'll need to start looking into the networking code before I can offer any opinions about the specifics of the descriptor though. > 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 >