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 46F52C54E65 for ; Thu, 22 May 2025 13:34:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D2A2E6B0082; Thu, 22 May 2025 09:34:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CDB0D6B0083; Thu, 22 May 2025 09:34:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF0436B008C; Thu, 22 May 2025 09:34:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 9FC596B0082 for ; Thu, 22 May 2025 09:34:35 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 48AAF141431 for ; Thu, 22 May 2025 13:34:35 +0000 (UTC) X-FDA: 83470638510.29.5D59F3F Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by imf19.hostedemail.com (Postfix) with ESMTP id 664691A0002 for ; Thu, 22 May 2025 13:34:33 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=HrGq0kn0; spf=pass (imf19.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747920873; 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=HglpUfe4kmsfzDLqBmD4mwNcQaYbHQqEm+gYK0kZUv4=; b=rrJNziqIf8EiwXmdzyKc+cizIPYy9I1wBAAa9pkyiqatbDmiz356c7AbbtqeuY+b9vnHRs CZs5jwJe0gWDr0ib0pXJ5mCssuRBFpXFCMwI9Qmb1WK/fgyLXBE493XZJjVmriTa/lJ11f IO9N7IWffQZWxnScO05XmVfuIH7CO/s= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=HrGq0kn0; spf=pass (imf19.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.172 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747920873; a=rsa-sha256; cv=none; b=2a+EiuDI2+n9NAxMTlV8fe4SSl98k96wtcOSvKWqDqPr9wtZB99FE5y9vxtvcGZ13cBSab obTrPBPLDLZEhA/kKkLkq1QlZgtLROgtsXYq1mvziWYJkx7dRYBZDczkFyC8XaOBXBtPTC rbZoNP+6bJ3Ik7RkatBxan/E/gdLpmY= Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4b38Qs0sDSz9sr6; Thu, 22 May 2025 15:34:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1747920869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=HglpUfe4kmsfzDLqBmD4mwNcQaYbHQqEm+gYK0kZUv4=; b=HrGq0kn0IswTMrElT71G4ZbK3lUndY7xUDOTKbv2J80oqPrjLnUqLn3Fi7gSIsFWizXlKH lET7rBNAo32lcL2lchoPLdDYG+yTQcX9pqm55XyS7dPpHzVrlyZqtrDpaUuKLtT1qjJ/xH BQbXyJbjAWLxsFsUCsyzxVRP/SqXyQ/KFyesfs/5enWVN0YbWPTYoZ0Nu4V+IiNx/vGBwJ yKGuzIficxnnHqOVo1Sva0+r3cY2I9dM5TP/N9SXqnh6OX7LG57zDJsnErFsM5TldjywJC q9PHiKQsrqg4H2Qgzwx+X0ivgfrDH7WwWNm15hdk33MI9vgZ6a0Yb0Jq7m0sIQ== Date: Thu, 22 May 2025 15:34:17 +0200 From: "Pankaj Raghav (Samsung)" To: David Hildenbrand Cc: Mike Rapoport , Pankaj Raghav , Suren Baghdasaryan , Vlastimil Babka , Ryan Roberts , Michal Hocko , Thomas Gleixner , Nico Pache , Dev Jain , Baolin Wang , Borislav Petkov , Ingo Molnar , "H . Peter Anvin" , Zi Yan , Dave Hansen , Lorenzo Stoakes , Andrew Morton , "Liam R . Howlett" , Jens Axboe , linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, "Darrick J . Wong" , gost.dev@samsung.com, hch@lst.de, linux-kernel@vger.kernel.org, linux-mm@kvack.org, willy@infradead.org, x86@kernel.org, mcgrof@kernel.org Subject: Re: [RFC v2 0/2] add THP_HUGE_ZERO_PAGE_ALWAYS config option Message-ID: References: <20250522090243.758943-1-p.raghav@samsung.com> <6lhepdol4nlnht7elb7jx7ot5hhckiegyyl6zeap2hmltdwb5t@ywsaklwnakuh> <6894a8b1-a1a7-4a35-8193-68df3340f0ad@redhat.com> <625s5hffr3iz35uv4hts4sxpprwwuxxpbsmbvasy24cthlsj6x@tg2zqm6v2wqm> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 664691A0002 X-Stat-Signature: 8s8i5b7fd9ggs4twprqyyo5h74odqpo3 X-Rspam-User: X-HE-Tag: 1747920873-867402 X-HE-Meta: U2FsdGVkX1+8sbEG6KOqQio5yqQ4+pQfoO5YBQK5/l5AwerHVo/qHrDDNWFc9X0DPTCrJxP+u58PvEZS9CShcAKM/9LhMyNBuOL58NPsmeTXSq1uGEwEdCkdkBbB1A/+nOO8w682A2UTIf2z1b2HTzRJlyeQF4OoC24NM5/+UTddsOy5AgDQ02xCWR4+vH/8dzVB/CwH7/aRJFxSnAMEJBEWQf6NyyGiq0UTU25DWz3OQRieN5TYD6tMJP78pLn2ri2MyJWITOBvk4uJeDy5cmSmpCeMo2d5yT57eoqwazwY4avwvgZe2CwZyQuawh+Z7Zc3UIkMJG+S5d2m8GuYbXmSjMo4myAiAJBA7oQ10GBNb40KMZiEMHzsbGzdhV1DP5hZKuZwdRbqQ2wGFFkwLv6FavJtsCeCFboNsXu0PtFmq8k1FNHWFHsr6F0tNMUNTPrqJ5UMUbrpDhPNvlQgVaOYzWY2JHvXsE/n7Hd+NfJHPBVqWjz7+w/dS3nJmy87+Dv1cToL0HYyun0he8Gp8aQMdtnwpXEHXfZK4Kt/hon3agSM8bnk2jgzOE9cqH3+Jj2HJ3Xu+ShW+OJu/c9CGZg7p4ConWQdpV7ImHvj9TOUWUufVKrm7Tyxb/iKRkme2S5kZu383tMB8NWktKwbUDRt0BpoayjB9Q2JtDgxONYUM5ab+XP6jChgnJySg/ZnCZpCQH6NKtiOPl0C7cl5Vy8Uof6st9M8tbcHslpV+HQaLz5fHUYfnO0M/Z5klcHh5qphacsOxzlljwZRJ5cw26BShhLz7/oP0nvU1q/0o8thHHTQ3up2Q0c21kuQ/XOylNmm/FV7sP8o1YftuTu68b+80Ztdf2Ci3FLsXF0wQA99KRGZV4G+XD0H18W/w0e6cVSz7mKrUUYVXx2whVsPzd3fgXVJoK3FNHBYOikqyX+/EG/izSUgdODNFdO9lTumfn8c3evb0vlKCqWE8mT tWptQWqh jQw3VKhFg4RwIzpObIzbCrb7MPBa7ZigM1/R54L50IxcgWxz6cnXWCCfreNIsokYY1+O3ANfv3H/FzKb4BpN4WHpiVwA/GxvA0CH6tyR1xXhvGOfGkqupQFNhI9UI17zO2o5CZHC06C5WyKZUhREIauqgigMGBZKmedEzPfAD6xT3r/G/3S0nWQYbREeVZDCG5+JM2g+PM9oAnBYbD5CfttU/oQW+CwRcX1USUlrKgQtszGHs5S3PPnZMH5/8LpSl1wYKZCToJOj58ttdT7cqhLp8G++uiJzDktcoLRlfHmPM8lq+iYk6E/5CZ3dGp7RGWr33faX+52dyiAM= 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 Thu, May 22, 2025 at 02:50:20PM +0200, David Hildenbrand wrote: > On 22.05.25 14:34, Pankaj Raghav (Samsung) wrote: > > Hi David, > > > > > > config ARCH_WANTS_THP_SWAP > > > > def_bool n > > > > -config ARCH_WANTS_THP_ZERO_PAGE_ALWAYS > > > > +config ARCH_WANTS_HUGE_ZERO_PAGE_ALWAYS > > > > def_bool n > > > > +config HUGE_ZERO_PAGE_ALWAYS > > > > > > Likely something like > > > > > > PMD_ZERO_PAGE > > > > > > Will be a lot clearer. > > > > Sounds much better :) > > And maybe something like > > "STATIC_PMD_ZERO_PAGE" > > would be even clearer. > > The other one would be the dynamic one. Got it. So if I understand correctly, we are going to have two huge zero pages, - one that is always allocated statically. - the existing dynamic will still be there for the existing users. > > > > > > > > > > + def_bool y> + depends on HUGETLB_PAGE && > > > ARCH_WANTS_HUGE_ZERO_PAGE_ALWAYS > > > > > > I suspect it should then also be independent of HUGETLB_PAGE? > > > > You are right. So we don't depend on any of these features. > > > > > > > > > + help > > > > + Typically huge_zero_folio, which is a huge page of zeroes, is allocated > > > > + on demand and deallocated when not in use. This option will always > > > > + allocate huge_zero_folio for zeroing and it is never deallocated. > > > > + Not suitable for memory constrained systems. > > > > > > I assume that code then has to live in mm/memory.c ? > > > > Hmm, then huge_zero_folio should have always been in mm/memory.c to > > begin with? > > > > It's complicated. Only do_huge_pmd_anonymous_page() (and fsdax) really uses > it, and it may only get mapped into a process under certain conditions > (related to THP / PMD handling). > Got it. > > > > So IIUC your comment, we should move the huge_zero_page_init() in the > > first patch to mm/memory.c and the existing shrinker code can be a part > > where they already are? > > Good question. At least the "static" part can easily be moved over. Maybe > the dynamic part as well. > > Worth trying it out and seeing how it looks :) Challenge accepted ;) Thanks for the comments David. -- Pankaj