All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: "David Hildenbrand (Arm)" <david@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	 "Liam R. Howlett" <liam@infradead.org>,
	Vlastimil Babka <vbabka@kernel.org>,
	 Mike Rapoport <rppt@kernel.org>,
	Suren Baghdasaryan <surenb@google.com>,
	 Michal Hocko <mhocko@suse.com>, Kairui Song <kasong@tencent.com>,
	Qi Zheng <qi.zheng@linux.dev>,
	 Shakeel Butt <shakeel.butt@linux.dev>,
	Barry Song <baohua@kernel.org>,
	 Axel Rasmussen <axelrasmussen@google.com>,
	Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
	 Baoquan He <baoquan.he@linux.dev>,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	 Brendan Jackman <brendan.jackman@linux.dev>,
	Johannes Weiner <hannes@cmpxchg.org>, Zi Yan <ziy@nvidia.com>,
	 Oscar Salvador <osalvador@suse.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	 "Rafael J. Wysocki" <rafael@kernel.org>,
	Danilo Krummrich <dakr@kernel.org>,
	 Jan Kiszka <jan.kiszka@siemens.com>,
	Kieran Bingham <kbingham@kernel.org>,
	 linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-cxl@vger.kernel.org,  driver-core@lists.linux.dev,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 12/12] mm/memory_hotplug: drop CONFIG_HAVE_ARCH_PFN_VALID handling from pfn_to_online_page()
Date: Thu, 10 Sep 2026 15:47:52 +0100	[thread overview]
Message-ID: <aqLB0Fe_bCRSph9E@gremlin> (raw)
In-Reply-To: <20260909-b4-sparsemem_cleanups-v1-12-008fc8d579fe@kernel.org>

On Wed, Sep 09, 2026 at 03:33:05PM +0200, David Hildenbrand (Arm) wrote:
> Drop CONFIG_HAVE_ARCH_PFN_VALID handling, as CONFIG_HAVE_ARCH_PFN_VALID
> is never used with CONFIG_MEMORY_HOTPLUG, as the latter depends on
> CONFIG_SPARSEMEM_VMEMMAP. Make sure it stays that way.

So argument is:

mm/Makefile:

memory-hotplug-$(CONFIG_MEMORY_HOTPLUG) += memory_hotplug.o

Is memory_hotplug.c even compiled at all?

mm/Kconfig:

menuconfig MEMORY_HOTPLUG
	bool "Memory hotplug"
	select MEMORY_ISOLATION
	depends on SPARSEMEM_VMEMMAP
	depends on ARCH_ENABLE_MEMORY_HOTPLUG
	depends on 64BIT
	select NUMA_KEEP_MEMINFO if NUMA

$ cd arch
$ rg HAVE_ARCH_PFN_VALID
Kconfig
1762:config HAVE_ARCH_PFN_VALID

arm/Kconfig
94:	select HAVE_ARCH_PFN_VALID

arm/mm/init.c
121:#ifdef CONFIG_HAVE_ARCH_PFN_VALID

arm/include/asm/page.h
178:#ifdef CONFIG_HAVE_ARCH_PFN_VALID

m68k/Kconfig.cpu
23:	select HAVE_ARCH_PFN_VALID
40:	select HAVE_ARCH_PFN_VALID

arc/Kconfig
463:	select HAVE_ARCH_PFN_VALID

All of arm, m68k and arc are 32-bit arches so by definition MEMORY_HOTPLUG
can't be selected.

>
> Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>

So LGTM and:

Reviewed-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>

> ---
>  mm/memory_hotplug.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index b428da66d279c..58ce35cb48f57 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -344,6 +344,8 @@ struct page *pfn_to_online_page(unsigned long pfn)
>  	struct dev_pagemap *pgmap;
>  	struct mem_section *ms;
>
> +	BUILD_BUG_ON(IS_ENABLED(CONFIG_HAVE_ARCH_PFN_VALID));

Haha nicest way of removing some later code I've seen. Just make it not compile
if such a thing happens :)

> +
>  	if (nr >= NR_MEM_SECTIONS)
>  		return NULL;
>
> @@ -351,13 +353,6 @@ struct page *pfn_to_online_page(unsigned long pfn)
>  	if (!online_section(ms))
>  		return NULL;
>
> -	/*
> -	 * Save some code text when online_section() +
> -	 * pfn_section_valid() are sufficient.
> -	 */
> -	if (IS_ENABLED(CONFIG_HAVE_ARCH_PFN_VALID) && !pfn_valid(pfn))
> -		return NULL;
> -
>  	if (!pfn_section_valid(ms, pfn))
>  		return NULL;
>
>
> --
> 2.43.0
>

--
Cheers, Lorenzo

  reply	other threads:[~2026-09-10 14:48 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-09 13:32 [PATCH 00/12] mm/sparse: remove SECTION_MARKED_PRESENT and further cleanups David Hildenbrand (Arm)
2026-09-09 13:32 ` [PATCH 01/12] mm/sparse: move mem_section init to sparse_extreme_init() David Hildenbrand (Arm)
2026-09-09 17:02   ` Oscar Salvador (SUSE)
2026-09-10 12:52   ` Lorenzo Stoakes (ARM)
2026-09-10 13:13     ` David Hildenbrand (Arm)
2026-09-10 13:33       ` Lorenzo Stoakes (ARM)
2026-09-09 13:32 ` [PATCH 02/12] mm/sparse: refactor sparse_sections_init() David Hildenbrand (Arm)
2026-09-09 17:09   ` Oscar Salvador (SUSE)
2026-09-09 17:18     ` David Hildenbrand (Arm)
2026-09-10 13:29   ` Lorenzo Stoakes (ARM)
2026-09-10 14:30     ` David Hildenbrand (Arm)
2026-09-10 14:38       ` Lorenzo Stoakes (ARM)
2026-09-09 13:32 ` [PATCH 03/12] mm/sparse: move initialization of section metadata to sparse_metadata_init() David Hildenbrand (Arm)
2026-09-09 17:22   ` Oscar Salvador (SUSE)
2026-09-10 13:43   ` Lorenzo Stoakes (ARM)
2026-09-09 13:32 ` [PATCH 04/12] mm/sparse: rename and cleanup sparse_init_nid() David Hildenbrand (Arm)
2026-09-10  7:41   ` Oscar Salvador (SUSE)
2026-09-10 13:46   ` Lorenzo Stoakes (ARM)
2026-09-10 14:29     ` David Hildenbrand (Arm)
2026-09-09 13:32 ` [PATCH 05/12] mm/sparse: cleanup sparse_init_one_section() David Hildenbrand (Arm)
2026-09-10  7:45   ` Oscar Salvador (SUSE)
2026-09-10 13:47   ` Lorenzo Stoakes (ARM)
2026-09-09 13:32 ` [PATCH 06/12] mm/sparse: rename __highest_present_section_nr to __highest_used_section_nr David Hildenbrand (Arm)
2026-09-10  7:56   ` Oscar Salvador (SUSE)
2026-09-10 13:49   ` Lorenzo Stoakes (ARM)
2026-09-09 13:33 ` [PATCH 07/12] mm/sparse: remove pfn_in_present_section() David Hildenbrand (Arm)
2026-09-10  7:59   ` Oscar Salvador (SUSE)
2026-09-10 13:50   ` Lorenzo Stoakes (ARM)
2026-09-09 13:33 ` [PATCH 08/12] mm/sparse: move __highest_used_section_nr handling David Hildenbrand (Arm)
2026-09-09 14:06   ` sashiko-bot
2026-09-09 14:44   ` David Hildenbrand (Arm)
2026-09-10  8:33   ` Oscar Salvador (SUSE)
2026-09-10  9:13     ` David Hildenbrand (Arm)
2026-09-10 12:08       ` Oscar Salvador (SUSE)
2026-09-10 13:33         ` David Hildenbrand (Arm)
2026-09-10 14:16   ` Lorenzo Stoakes (ARM)
2026-09-10 14:29     ` David Hildenbrand (Arm)
2026-09-10 14:51       ` Lorenzo Stoakes (ARM)
2026-09-09 13:33 ` [PATCH 09/12] mm/sparse: remove SECTION_MARKED_PRESENT David Hildenbrand (Arm)
2026-09-10 12:15   ` Oscar Salvador (SUSE)
2026-09-10 14:32   ` Lorenzo Stoakes (ARM)
2026-09-10 15:11     ` David Hildenbrand (Arm)
2026-09-09 13:33 ` [PATCH 10/12] mm/sparse: remove flags parameter from sparse_init_one_section() David Hildenbrand (Arm)
2026-09-10 12:34   ` Oscar Salvador (SUSE)
2026-09-10 14:34   ` Lorenzo Stoakes (ARM)
2026-09-09 13:33 ` [PATCH 11/12] fs/proc/page: clarify comment in get_max_dump_pfn() David Hildenbrand (Arm)
2026-09-10 12:46   ` Oscar Salvador (SUSE)
2026-09-10 14:41   ` Lorenzo Stoakes (ARM)
2026-09-10 15:14     ` David Hildenbrand (Arm)
2026-09-09 13:33 ` [PATCH 12/12] mm/memory_hotplug: drop CONFIG_HAVE_ARCH_PFN_VALID handling from pfn_to_online_page() David Hildenbrand (Arm)
2026-09-10 14:47   ` Lorenzo Stoakes (ARM) [this message]
2026-09-10 15:15     ` David Hildenbrand (Arm)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aqLB0Fe_bCRSph9E@gremlin \
    --to=ljs@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=axelrasmussen@google.com \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=baoquan.he@linux.dev \
    --cc=brendan.jackman@linux.dev \
    --cc=dakr@kernel.org \
    --cc=david@kernel.org \
    --cc=driver-core@lists.linux.dev \
    --cc=gregkh@linuxfoundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=jan.kiszka@siemens.com \
    --cc=kasong@tencent.com \
    --cc=kbingham@kernel.org \
    --cc=liam@infradead.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=osalvador@suse.de \
    --cc=qi.zheng@linux.dev \
    --cc=rafael@kernel.org \
    --cc=rppt@kernel.org \
    --cc=shakeel.butt@linux.dev \
    --cc=surenb@google.com \
    --cc=vbabka@kernel.org \
    --cc=weixugc@google.com \
    --cc=yuanchu@google.com \
    --cc=ziy@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.