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 AFB33C3ABD8 for ; Fri, 16 May 2025 09:52:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E81D06B011C; Fri, 16 May 2025 05:52:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E30176B011E; Fri, 16 May 2025 05:52:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D479C6B011F; Fri, 16 May 2025 05:52:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id B3ED76B011C for ; Fri, 16 May 2025 05:52:10 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 93F5481C6A for ; Fri, 16 May 2025 09:52:11 +0000 (UTC) X-FDA: 83448305262.23.3ED5308 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf15.hostedemail.com (Postfix) with ESMTP id BF6E9A0002 for ; Fri, 16 May 2025 09:52:09 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=lwwXpaoy; spf=pass (imf15.hostedemail.com: domain of ardb@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=ardb@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747389129; 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=Gm+T47WLaJs+qDOTfE6a/cQVbR1+zvtR1iy0QX3WjI8=; b=PmhAJXPxWcS7yiMJn952MRkzglyP6TGo1jx7RgRRFD1Nxe7p46G7wV3jklgOcxsMteqp6A TexlEJmB0g7tQ6c/5H/CuzaZqfAqc/BWQyo9m16JWo9dLdaUUi63S528mByfclf8gEy5O+ 0HuS+KuW0GnGx7sW0rrfZs234aZO8LM= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=lwwXpaoy; spf=pass (imf15.hostedemail.com: domain of ardb@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=ardb@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747389129; a=rsa-sha256; cv=none; b=Zewqh+E7wGdPz2l/GUnshTZqO4oKj/o8lc4mCDOQyN1TNQOde9r/sfY2VgCU4KVq58oKDY x4VPc+jueTXHVneQpyuJREKAIdTAAvicKfjhQZaBh9F7TjIoRbpcMd88JNSJ970eNCIooV c/mDwsCd5hzFO/jOBSoNRi6mYIgBB0E= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id ED4F8A4E685 for ; Fri, 16 May 2025 09:52:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9D9E9C4CEF2 for ; Fri, 16 May 2025 09:52:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747389128; bh=LPskX+KQ9GPO7GtQP8RFX4zL0CkpIZBhYYAREwIva/w=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=lwwXpaoyD7HUDWI/P92VPgVuAV2PfDga9JR/ywuM2hhejO4zYRrdfh3XtDnAyZiSI y4tNoBGu4pDUm8CTUMqpA56WbRdkHi/uJpzi86ljYYptAGxM5Xg5wfo/93QRH1jkGi 5o6potLRx6WX9xSUQCUK1FqTxjQjhmYQ7mNlQp0P68TM0Q8ClyaTl/ypFll2LuSvIM B0agJv7/3JYcfAzJcUxkNViut9Yive6V+KDv+fu8l6pAF8EtC7H6qNBwx3+qoZQJax y2JhnCwWZTLcXMtnI5MKU6ZrCaYxhqH62XHZwP61pBxFoGoGa9K0jlgstCHjraGXp9 bu+Ab8CDirYcw== Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-54fcc593466so2149307e87.0 for ; Fri, 16 May 2025 02:52:08 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCV3D+u4R7sCVdD9Xwx82eqELvHwCCfs/2N+162q81pxGTzEjXX8wdBW/XUS1NcUqg7hqcivYos4gA==@kvack.org X-Gm-Message-State: AOJu0Yztw3aAEKHgwNwgge6haBNgQ6iqlCLQu7ewIpwvEvfUCut67Ln8 vm7tCIBDnb30yNDUli8ZfabtduulUV8lLT5rDHm/TWK/4sILVGBJnLFehA5hmSGAzz3oc8LepOe D7T1rNByauLL4ZxzXzXhiGQ+rEgOnFIc= X-Google-Smtp-Source: AGHT+IHahFUEPmwbg86aUtdIPUwGuxneUVxJgAjBKxN4poCYamgz1Nsh24E33Vy1oV+OEmftpq0+1+l5gtclDi2iex4= X-Received: by 2002:a05:6512:3e01:b0:549:4a13:3a82 with SMTP id 2adb3069b0e04-550e97b4b52mr551735e87.21.1747389127009; Fri, 16 May 2025 02:52:07 -0700 (PDT) MIME-Version: 1.0 References: <20250516091534.3414310-1-kirill.shutemov@linux.intel.com> <20250516091534.3414310-3-kirill.shutemov@linux.intel.com> In-Reply-To: <20250516091534.3414310-3-kirill.shutemov@linux.intel.com> From: Ard Biesheuvel Date: Fri, 16 May 2025 10:51:55 +0100 X-Gmail-Original-Message-ID: X-Gm-Features: AX0GCFuipmN9JlqI_7OlvvLMi5ltnYPmHTTuJWEdyO20yOdRQp9HX7CWVyTtVAs Message-ID: Subject: Re: [PATCHv2 2/3] x86/64/mm: Make SPARSEMEM_VMEMMAP the only memory model To: "Kirill A. Shutemov" Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Jonathan Corbet , Andy Lutomirski , Peter Zijlstra , Jan Kiszka , Kieran Bingham , Michael Roth , Rick Edgecombe , Brijesh Singh , Sandipan Das , Juergen Gross , Tom Lendacky , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-efi@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: BF6E9A0002 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: xd3jwq34igikwinptmy19zb33d9jkmo6 X-HE-Tag: 1747389129-201821 X-HE-Meta: U2FsdGVkX1/LvYeJ5raSOuk2UbRa7YtPwgljfAbFQ0uXO9xkZbv/Sd5gGTqoO53Jbl7q70zf7vJutQSxJxC/CZ1tZC2bIgLxJSKcfzlcP/jM1lcP8tAJ+PMIoxjm4UbWfd3WDwEZ2DV58O1b5uEPjuWVj6tos4yIFuAG2Q0UVVX8i8qe1cUDKu7HgiV96CUjWiAra/PQpCe+ofjqSbkVzQ9gN+5MLmfzo+nPKlETYqmluaRlnkZHCK9ehQqbT/fQTusAz6YnBz4ee7/L7q8pcboufQkllpKmyI748vZ7YE46q2gGbf7RjgmoBYU5tC+ZAcpuqH1p8gBMtblIq3ihwFRBPKLpitP82nR6BNfRB+7GybKfc9y6DomVRVIji7C8i+uaEuC0SkvcTJh95e+xT7OUhAgtGwYTUqynS3azmna/foCEmUFdIbGOn/x2W7URagZZNj8Qwl5ZuUyVsTvU8JUlZWvmj+pnrlUahmF/73KxGYx0JhNtaJYyqkA/MK4sFdRCMGy5t/kLB5AosEhghudnEMtlG0yqjqAjf7ysfWUjV317RJui2fBXcKfwdl27CD8KlA1egvOohKNP1L6wQkdHcAVPU/BIBXtoKpbzet69CGvx5wrrVtHUcRAjcUlYGK+HGxK0nGX3ZchOudCXwN6NoP4/43cbrASbDdq8pFBkzbwcVEeHEfp3F4386JYJFkCreyngr04AhHp2MlexQ1RWkUPWl3hlBUTTUozTHubOfTMiZXShKpSmI2cXbcO+yirzhyRtUvRjXKzlK16hABMElqW+RpBquX0YmxeCGtz5ZqHyLJ3iR9lxI5ouA4CQkNptcPFx5lrcLlZSv0AXTfigqGsn4PLnLduS2nK3pesPRBnqVqLVb851tApHq63EXtKHNO60gEeB373TqLRLE1J2fRKMh7ZHLnFNRs6uftJsYVICVQdNunLU/eE4JGgMs5fkljSGfblGUeqtXfr JQlsSBYV t07++y/uU6yQ/mUKYd8PNHcFY1djTK8CB0ljlA4qDQJpEiEK33tcyh7dpSZq5cbJ/CcZofSk9DSvZ8kYt6RvUWMHBCQm0BJJWVX+Bg39E88KL3WiaOw9dukfpyRwOdYN+fyGqoC4+sG+lPnXoWPVOjOpbeCoa71Nh1gpdH8eNPxuy1hi9heUWs5MA9xejffZ+iKtuwH7HC3v3nFzguBj+8lZOm9EFANQLjfCY2fWyAH+aCltSTuaz84pTSq7cJOUnO/g/G2D25BKQFEMBv9UOyhSJde9KOWwMeDNFunJJ+TuMSzxuV1xCjf8mUmHI/FyPBSoORP+ShSfi4I9dYH+WGYWDxAedUdolLihElIor+9VZCZTzOEQBZWWvnw== 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 Fri, 16 May 2025 at 10:15, Kirill A. Shutemov wrote: > > 5-level paging only supports SPARSEMEM_VMEMMAP. CONFIG_X86_5LEVEL is > being phased out, making 5-level paging support mandatory. > > Make CONFIG_SPARSEMEM_VMEMMAP mandatory for x86-64 and eliminate > any associated conditional statements. > > Signed-off-by: Kirill A. Shutemov Reviewed-by: Ard Biesheuvel > --- > arch/x86/Kconfig | 2 +- > arch/x86/mm/init_64.c | 9 +-------- > 2 files changed, 2 insertions(+), 9 deletions(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index d3c2da3b2f0b..45b36a019b5e 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -1467,7 +1467,6 @@ config X86_PAE > config X86_5LEVEL > bool "Enable 5-level page tables support" > default y > - select SPARSEMEM_VMEMMAP > depends on X86_64 > help > 5-level paging enables access to larger address space: > @@ -1579,6 +1578,7 @@ config ARCH_SPARSEMEM_ENABLE > def_bool y > select SPARSEMEM_STATIC if X86_32 > select SPARSEMEM_VMEMMAP_ENABLE if X86_64 > + select SPARSEMEM_VMEMMAP if X86_64 > > config ARCH_SPARSEMEM_DEFAULT > def_bool X86_64 || (NUMA && X86_32) > diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c > index bf45c7aed336..66330fe4e18c 100644 > --- a/arch/x86/mm/init_64.c > +++ b/arch/x86/mm/init_64.c > @@ -833,7 +833,6 @@ void __init paging_init(void) > zone_sizes_init(); > } > > -#ifdef CONFIG_SPARSEMEM_VMEMMAP > #define PAGE_UNUSED 0xFD > > /* > @@ -932,7 +931,6 @@ static void __meminit vmemmap_use_new_sub_pmd(unsigned long start, unsigned long > if (!IS_ALIGNED(end, PMD_SIZE)) > unused_pmd_start = end; > } > -#endif > > /* > * Memory hotplug specific functions > @@ -1152,16 +1150,13 @@ remove_pmd_table(pmd_t *pmd_start, unsigned long addr, unsigned long end, > pmd_clear(pmd); > spin_unlock(&init_mm.page_table_lock); > pages++; > - } > -#ifdef CONFIG_SPARSEMEM_VMEMMAP > - else if (vmemmap_pmd_is_unused(addr, next)) { > + } else if (vmemmap_pmd_is_unused(addr, next)) { > free_hugepage_table(pmd_page(*pmd), > altmap); > spin_lock(&init_mm.page_table_lock); > pmd_clear(pmd); > spin_unlock(&init_mm.page_table_lock); > } > -#endif > continue; > } > > @@ -1500,7 +1495,6 @@ unsigned long memory_block_size_bytes(void) > return memory_block_size_probed; > } > > -#ifdef CONFIG_SPARSEMEM_VMEMMAP > /* > * Initialise the sparsemem vmemmap using huge-pages at the PMD level. > */ > @@ -1647,4 +1641,3 @@ void __meminit vmemmap_populate_print_last(void) > node_start = 0; > } > } > -#endif > -- > 2.47.2 >