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 7EC2AC83F09 for ; Wed, 9 Jul 2025 08:12:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2195F6B00B2; Wed, 9 Jul 2025 04:12:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1EE656B00B3; Wed, 9 Jul 2025 04:12:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1046C6B00B4; Wed, 9 Jul 2025 04:12:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id DAECA6B00B2 for ; Wed, 9 Jul 2025 04:12:46 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A3AB1803D1 for ; Wed, 9 Jul 2025 08:04:11 +0000 (UTC) X-FDA: 83643988302.06.EC96BE8 Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [80.241.56.152]) by imf22.hostedemail.com (Postfix) with ESMTP id A41DDC000E for ; Wed, 9 Jul 2025 08:04:09 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=XX6tE8mN; dmarc=pass (policy=quarantine) header.from=pankajraghav.com; spf=pass (imf22.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.152 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752048250; a=rsa-sha256; cv=none; b=yXRPn0ws5f4f9O/u+5JAWGenFrzfPKb0zKgW/KBQELAMBPr9fu9ZZTD7gWOGvLKoU1DoDG 9YdRwOsc1A/XlxY8wdTXwdTymq0BOVlYX4YIN2o3B68OQeiNj0j4DJM/pP4TGIIMtogejW F4Wq2fu6W2xQCxBqocy6QHY6pssfYg0= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=XX6tE8mN; dmarc=pass (policy=quarantine) header.from=pankajraghav.com; spf=pass (imf22.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.152 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=1752048250; 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:dkim-signature; bh=ALSg0QD8uRphF8/oxSCVKyEeBf8l1V1KzIwjcnUWqG4=; b=lW/aZJkeFhOnNRtVZfVVBPYUeeXdsy5bu5AjR3ZVNB+5oeVn+tE1a15TfviQKM8rqDvn4T AjcCNXfHBxQLRSho2XhHBpAUomvDWgOhxRcgqaQqrvAdePoD5ZPSyzekEcaiGE/rUrqxIv P6ky4n5RQJH2ruKWrafhZG+ucCnhK6I= 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-102.mailbox.org (Postfix) with ESMTPS id 4bcVqT1NHrz9v7v; Wed, 9 Jul 2025 10:04:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1752048245; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ALSg0QD8uRphF8/oxSCVKyEeBf8l1V1KzIwjcnUWqG4=; b=XX6tE8mNF+WRKfctp233Q8R5d91TxrSW4Wp3rGRmG54yh6tmy+CFbWrPNd+Zxh3E6r61oW AAO6pSiq3hgyjQoPgOTVlYVSaYOYmU0sHh464sOvk/a8L4wxIviL21atL97v2h7wb+4qQT N1dgVpUunhtHFZt8zr1YzsAVmBchkWdqzASoGoLxpiMma+IRXD7ZxSjyIEcwkYGIGdv9/C NoumHmmkQIUWS37PTQQuspEbghG9yPS8SeNO8KamONfeHEG/6kw/Zbmw+35SnHmKojck1Q L9EpOxY1u8Z3e0xocCbgBoOKqGbTR/enWahc5qCdqO4Uj9URDKeGtsDgMOkhgw== Message-ID: Date: Wed, 9 Jul 2025 10:03:51 +0200 MIME-Version: 1.0 From: Pankaj Raghav Subject: Re: [PATCH v2 0/5] add static PMD zero page support To: Zi Yan Cc: Suren Baghdasaryan , Ryan Roberts , Baolin Wang , Borislav Petkov , Ingo Molnar , "H . Peter Anvin" , Vlastimil Babka , Mike Rapoport , Dave Hansen , Michal Hocko , David Hildenbrand , Lorenzo Stoakes , Andrew Morton , Thomas Gleixner , Nico Pache , Dev Jain , "Liam R . Howlett" , Jens Axboe , linux-kernel@vger.kernel.org, willy@infradead.org, linux-mm@kvack.org, x86@kernel.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, "Darrick J . Wong" , mcgrof@kernel.org, gost.dev@samsung.com, hch@lst.de, Pankaj Raghav References: <20250707142319.319642-1-kernel@pankajraghav.com> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: A41DDC000E X-Stat-Signature: 89id4bqxfuapbjrpayeko11o9wydis3w X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1752048249-185170 X-HE-Meta: U2FsdGVkX1/jpIBTGXSgQvNEHJoC8aFPpJ+ylNT+1VZCct4xwi4lYtf646VMi/ZKSfBES6sQJX1FL4Rn6E72NBeXRxmWlgvXMYTj3pqx19UAvIwhTQdjrY78GL+RdyVe282ecore30nIv0LLvCI3OivYx/TfaqHTLVwDbYx/hzzqtMF/nUl6OIIxC0rrYLP5Rdmpk5002uTHCY1+j9Zy3MvXAZsctdZH8+q2pW0dUov+paL/P/SAcameeCaRx1yPeaeUclYHWYrXXGTQTQpyiORZFQqgBWU4lLj4SRaxwQIgAZlqACWH3mCLjvJdlH/SVTD09+39Em3WRDuskf9A8E8lxhJhm/bOIYYKLGVp98AaNZ1Da5FHly043kFLkBqGnqaHQ6N7327FILbjZT53LXeok5BHN7VKJqC7usfLNGQweLbpGMUo0iZBUsW9MM5COXeVLHk/Lh0gQC2Qa7ZrnHtw5AlueEEyyjRCKCe/SP0lgu1w8dB5zAEnw5P91IRAfvxtCWjPLX229T4vyL4bXpfkFY9XLZUv0ugM0amloytZB5mEM9f6SBUtftyura81S2guJeaY1QanBgYP/4nYIEjKPBNRVQtvOeRuRoJbHKpxnQK9gfwqQ6eLZY4CvVcfMvjyYRZXDfOtjpYsJIdvZZR8TiNnwyTypN2WLChxrzrbJmrzDuy3vmaVS0oclxCcnv8cjVIrSuCHJzKp7PYyTMfugXUU2ITG8ONJfwOim4vW0Pugz6SRYuZbPlp4kFK9xyxS0yXUKLTAKYT5DDkWaqLcz3XtIpqjA9900fNIzEQu41PokaAH+8MhU+mmSCjiKg2qu1xNjXwh5RviVn8N/MXWCLhUtnLb9Ub0g/0BJjig2F70I/hsNYn4m85vzAqxnkhyLJW1dFQVbFuT5kj+Bk5fXJ4Rutm9457BFkHgh2+9Z4qPv0M9v8eaogTmjD86PKFEbBkiEYV9BUm7/Zh CKTV/kJ2 1CUD2Up1Ht64uTnHKs5e9KgYgqddVXs+WA4nDTEG5eFgkheY4A119hzVaoCdXBvMzTJeRxhbxtgNiZN2WDBd021he+zuHttTuQupMCSVR63DIbIDPNCwjL22XtUhpRTx9Ht3mBQIYliRAOnND7QgVVSsvki20nKNNVKofNOMS4tWbepv9VBh+FqodfSogwpJLFxue4Y1eMkzJIyhL5EMRoUNq5q+XLE1sRjrNysnqz7vLfzRpjXIaiW8/2+cGGtJK9vHl5+eO3I6HblcGm6cXQhzjKqRjlBSO+ajScec0V9agQNKIPAm6QRRGGOquPDvFX6BHgdQRJaVr97I= 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 Zi, >> Add a config option STATIC_PMD_ZERO_PAGE that will always allocate the huge_zero_folio via >> memblock, and it will never be freed. > > Do the above users want a PMD sized zero page or a 2MB zero page? Because on systems with non > 4KB base page size, e.g., ARM64 with 64KB base page, PMD size is different. ARM64 with 64KB base > page has 512MB PMD sized pages. Having STATIC_PMD_ZERO_PAGE means losing half GB memory. I am > not sure if it is acceptable. > That is a good point. My intial RFC patches allocated 2M instead of a PMD sized page. But later David wanted to reuse the memory we allocate here with huge_zero_folio. So if this config is enabled, we simply just use the same pointer for huge_zero_folio. Since that happened, I decided to go with PMD sized page. This config is still opt in and I would expect the users with 64k page size systems to not enable this. But to make sure we don't enable this for those architecture, I could do a per-arch opt in with something like this[1] that I did in my previous patch: diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 340e5468980e..c3a9d136ec0a 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -153,6 +153,7 @@ config X86 select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP if X86_64 select ARCH_WANT_HUGETLB_VMEMMAP_PREINIT if X86_64 select ARCH_WANTS_THP_SWAP if X86_64 + select ARCH_HAS_STATIC_PMD_ZERO_PAGE if X86_64 select ARCH_HAS_PARANOID_L1D_FLUSH select ARCH_WANT_IRQS_OFF_ACTIVATE_MM select BUILDTIME_TABLE_SORT diff --git a/mm/Kconfig b/mm/Kconfig index 781be3240e21..fd1c51995029 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -826,6 +826,19 @@ config ARCH_WANTS_THP_SWAP config MM_ID def_bool n +config ARCH_HAS_STATIC_PMD_ZERO_PAGE + def_bool n + +config STATIC_PMD_ZERO_PAGE + bool "Allocate a PMD page for zeroing" + depends on ARCH_HAS_STATIC_PMD_ZERO_PAGE Let me know your thoughts. [1] https://lore.kernel.org/linux-mm/20250612105100.59144-4-p.raghav@samsung.com/#Z31mm:Kconfig -- Pankaj