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 97AC3C54E65 for ; Thu, 22 May 2025 12:00:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 242926B0083; Thu, 22 May 2025 08:00:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F2DB6B0089; Thu, 22 May 2025 08:00:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E1B16B0093; Thu, 22 May 2025 08:00:45 -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 DDC526B0083 for ; Thu, 22 May 2025 08:00:44 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 8EF391612CA for ; Thu, 22 May 2025 12:00:44 +0000 (UTC) X-FDA: 83470402008.13.BEFC67B Received: from mout-p-201.mailbox.org (mout-p-201.mailbox.org [80.241.56.171]) by imf05.hostedemail.com (Postfix) with ESMTP id 84AD7100011 for ; Thu, 22 May 2025 12:00:42 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=Pkv878VW; dmarc=pass (policy=quarantine) header.from=pankajraghav.com; spf=pass (imf05.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.171 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747915243; 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=YiqNVJ3Ja/qa7EwLGVyAuJ+LbC6RFtVqKpoDvDxemGo=; b=vD2H58AqkMCe1MN9mO7KHqb7DUPm/bHpb2mwtuPS8NT5uVHasQhWydfskRptMtQ9eIoJgk vWllQdVPNCJ7YxyDbdPiWfyIU9e/FcJFMFmbTas3XTFY4RR1G6Swywc4nIZ8KDpAJ71a4o LoHqbhIwqdPOFqWydwKdO1ZvoS8fQQU= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=Pkv878VW; dmarc=pass (policy=quarantine) header.from=pankajraghav.com; spf=pass (imf05.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.171 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747915243; a=rsa-sha256; cv=none; b=beKf+0YWFdabbaiTo/xwl3JUZar2RfsegKMJfUl/r99wMli0hwz7nK4V77LUZ53zg79h5F KUc7ZpTn3XUrKnDC0EMs9Pr1asPbKgSGBLFX1eTDFjZ2vvakd7EMA5/s+NA3rLkTDAiym9 P6jrYhGB3GUw8yMS38RWn4Mgqtl4+U4= Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (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-201.mailbox.org (Postfix) with ESMTPS id 4b36LY6tWDz9sX2; Thu, 22 May 2025 14:00:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1747915238; 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=YiqNVJ3Ja/qa7EwLGVyAuJ+LbC6RFtVqKpoDvDxemGo=; b=Pkv878VWYaSiGxGtPIxOgTTFm1YVhgzPuTL6FagLP/Z9FzSB5h1tbzrk4qw07Vv9LJMK5y vyxih8RFzNo8TMj7z3HH5GC2HxN57o+ceICE5WE0dVf2oSUE+jSWCrQ7Yset+0BvYKlQCH CE9KfRLIi4SlTX41Tn/oBimuri9Kd7rT1Wy2G2ymVxjxDREGRpaRtNz9bPQwxZ3OZICSrU mt0ETZMnRrfT7pmyW/qnMtMRbvOQtnCXT0H1x6n5w4VAeDH3y/9fQHMA64mdJOgUZr1hmS mPDzZzGytUxb/CKDvMgyjwePoPwUfW72VW2negsBOFtlSo8IzGaFd7BYsW/Mwg== Date: Thu, 22 May 2025 14:00:14 +0200 From: "Pankaj Raghav (Samsung)" To: Mike Rapoport Cc: 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 , David Hildenbrand , 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: <6lhepdol4nlnht7elb7jx7ot5hhckiegyyl6zeap2hmltdwb5t@ywsaklwnakuh> References: <20250522090243.758943-1-p.raghav@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 84AD7100011 X-Stat-Signature: sr9bz79ko7mnbyj1eq3rr88eor6o4ga8 X-Rspam-User: X-HE-Tag: 1747915242-751373 X-HE-Meta: U2FsdGVkX19P4n/TA8TmqZjopnpOVQQJM5tT1tQHQ1lWjwT87bHp0P54NPPt92MaJnKfJ8I2do6C69ki09IP9lGxhonKqeG44INOhD5V3+XkJWjL507cGOWcv19Ev6GXUqv2FU+KMHvOfau5T+TwSv+WvD8CZ+x7XfDlmZeTsaPNYJ//Y/XySN6ruUk6wTCFEQcSoFw1h212hzJiTjk/UNgHt3qb3zEV4J6+G+a8TpQoMVDcJ4kn/41lVr2r89wdFO1Ct+mVIK2Xh5CBpLj5TkljeXm1RJTBOXERdYgFnNK6xUv1QMNUwL/ngETnOlyw8AcnrsOv8KVUa/vxfmm+Iia8WgmP2OAsMZpz4RTX6SmOu00CUaLJx0Vy4Y5UmrJh2IQvmLSg14pQkjhPm75y85LaukP4kTpubPAldpkVAFH3oqRi5hklRicgnfE6fuqjIRs9BmpVjpei9wgZX2n0ea8mg/UeBHQirahvTKsJUCBCcIU6MnGEouNTB4NhMYWzXLIeqtwNiK0g26fwqhH+SoJwl1xLtsDcpRVAI+N+JOGn0Cr/Qb0lYaL+oJpxQLjAmu4p+Ymxo+9hNeu7OP2jnVN0W70AHTMWIdiped5vndSTd2OXG4D22lKKnMxtlscvY9lZUBOEWhhs6uxqbZDRNSxwlbI7mlz35NKX6OWRyxL4kzDuKCzty1VdH778y++5v1SrHNWpVRR+cUw+QjY/VuBIW4rS6rvo1QU1Whi2EeyTSUvFHQ3PWoRuLLzwShNZvoqdDeCaXJVd1l3Y3HdJzES3rJjA6ac3EJ7N15ytExMzn+YcD5nLmuTkp2p81gQ/73wBnVG8lyylsd34yEEdseQzT0kd7040z3rh0vddtPJGO0hmJKlPHAGAJQ+iNGobpZ5kCuaht6KtZzPdFo7jXla4wc1Ka9f+lVBpjl9TlNfchBjZRc+jl2CB8/FM2wDu9gDFfD+tL+lOL1jVJb5 9m7zUnXZ b0NP7C3zZJNnaDGmH3hYtAyGyR8U9zfXYmqxeeoL3dAYBZzZDplZPHlLmK2qCM5w0+3s6hZEH3A6oeO73fUKW+vVVKgy5yUl2gVhZEPmuvBvJzwWLxvfOeYoysFtkLTvw2w5cGG/cnd0TOpFa7N4FBEL0CMOSYUL6h/nBYtETQZ8Z5BqEcUHqaMbovGY3xJ9CCM6vB4v0NS5EgYCh7522Ja3XlQjcNsan/UdXA4cI6xPfQygmYn2N2NX/gY8IM62UKC/siOtsfbghcPNtRchhujtmVQQFi31E08saETOw634PpL9ZA7xbGwJghCS6diPr+STQ138xvRZcA5ym625qsUOY3n2PsswUJhFK 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: Hi Mike, > > Add a config option THP_HUGE_ZERO_PAGE_ALWAYS that will always allocate > > the huge_zero_folio, and it will never be freed. This makes using the > > huge_zero_folio without having to pass any mm struct and a call to put_folio > > in the destructor. > > I don't think this config option should be tied to THP. It's perfectly > sensible to have a configuration with HUGETLB and without THP. > Hmm, that makes sense. You mean something like this (untested): diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 2e1527580746..d447a9b9eb7d 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -151,8 +151,8 @@ config X86 select ARCH_WANT_OPTIMIZE_DAX_VMEMMAP if X86_64 select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP if X86_64 select ARCH_WANT_HUGETLB_VMEMMAP_PREINIT if X86_64 + select ARCH_WANTS_HUGE_ZERO_PAGE_ALWAYS if X86_64 select ARCH_WANTS_THP_SWAP if X86_64 - select ARCH_WANTS_THP_ZERO_PAGE_ALWAYS if X86_64 select ARCH_HAS_PARANOID_L1D_FLUSH select BUILDTIME_TABLE_SORT select CLKEVT_I8253 diff --git a/mm/Kconfig b/mm/Kconfig index a2994e7d55ba..83a5b95a2286 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -823,9 +823,19 @@ config ARCH_WANT_GENERAL_HUGETLB 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 + def_bool y + depends on HUGETLB_PAGE && ARCH_WANTS_HUGE_ZERO_PAGE_ALWAYS + 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. + + config MM_ID def_bool n @@ -898,15 +908,6 @@ config READ_ONLY_THP_FOR_FS support of file THPs will be developed in the next few release cycles. -config THP_ZERO_PAGE_ALWAYS - def_bool y - depends on TRANSPARENT_HUGEPAGE && ARCH_WANTS_THP_ZERO_PAGE_ALWAYS - help - Typically huge_zero_folio, which is a THP 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. - config NO_PAGE_MAPCOUNT bool "No per-page mapcount (EXPERIMENTAL)" help -- Pankaj