[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7566eef3-bce4-4100-8a11-d88ef1e887a9@gaisler.com>
Date: Tue, 13 Jan 2026 13:28:09 +0100
From: Andreas Larsson <andreas@...sler.com>
To: Mike Rapoport <rppt@...nel.org>, Andrew Morton <akpm@...ux-foundation.org>
Cc: Alex Shi <alexs@...nel.org>, Alexander Gordeev <agordeev@...ux.ibm.com>,
Borislav Petkov <bp@...en8.de>, Brian Cain <bcain@...nel.org>,
"Christophe Leroy (CS GROUP)" <chleroy@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
"David S. Miller" <davem@...emloft.net>,
Dave Hansen <dave.hansen@...ux.intel.com>,
David Hildenbrand <david@...nel.org>, Dinh Nguyen <dinguyen@...nel.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>, Guo Ren <guoren@...nel.org>,
Heiko Carstens <hca@...ux.ibm.com>, Helge Deller <deller@....de>,
Huacai Chen <chenhuacai@...nel.org>, Ingo Molnar <mingo@...hat.com>,
Johannes Berg <johannes@...solutions.net>,
John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>,
Jonathan Corbet <corbet@....net>, Klara Modin <klarasmodin@...il.com>,
"Liam R. Howlett" <Liam.Howlett@...cle.com>,
Lorenzo Stoakes <lorenzo.stoakes@...cle.com>,
Magnus Lindholm <linmag7@...il.com>, Matt Turner <mattst88@...il.com>,
Max Filippov <jcmvbkbc@...il.com>, Michael Ellerman <mpe@...erman.id.au>,
Michal Hocko <mhocko@...e.com>, Michal Simek <monstr@...str.eu>,
Muchun Song <muchun.song@...ux.dev>, Oscar Salvador <osalvador@...e.de>,
Palmer Dabbelt <palmer@...belt.com>, Pratyush Yadav <pratyush@...nel.org>,
Richard Weinberger <richard@....at>, Ritesh Harjani <ritesh.list@...il.com>,
Russell King <linux@...linux.org.uk>, Stafford Horne <shorne@...il.com>,
Suren Baghdasaryan <surenb@...gle.com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Thomas Gleixner <tglx@...utronix.de>, Vasily Gorbik <gor@...ux.ibm.com>,
Vineet Gupta <vgupta@...nel.org>, Vlastimil Babka <vbabka@...e.cz>,
Will Deacon <will@...nel.org>, x86@...nel.org, linux-alpha@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-csky@...r.kernel.org,
linux-cxl@...r.kernel.org, linux-doc@...r.kernel.org,
linux-hexagon@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-m68k@...ts.linux-m68k.org, linux-mips@...r.kernel.org,
linux-mm@...ck.org, linux-openrisc@...r.kernel.org,
linux-parisc@...r.kernel.org, linux-riscv@...ts.infradead.org,
linux-s390@...r.kernel.org, linux-sh@...r.kernel.org,
linux-snps-arc@...ts.infradead.org, linux-um@...ts.infradead.org,
linuxppc-dev@...ts.ozlabs.org, loongarch@...ts.linux.dev,
sparclinux@...r.kernel.org
Subject: Re: [PATCH v3 19/29] sparc: introduce arch_zone_limits_init()
On 2026-01-11 09:20, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <rppt@...nel.org>
>
> Move calculations of zone limits to a dedicated arch_zone_limits_init()
> function.
>
> Later MM core will use this function as an architecture specific callback
> during nodes and zones initialization and thus there won't be a need to
> call free_area_init() from every architecture.
>
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@...nel.org>
> ---
> arch/sparc/mm/init_64.c | 6 ++++++
> arch/sparc/mm/srmmu.c | 12 ++++++++----
> 2 files changed, 14 insertions(+), 4 deletions(-)
Hi Mike,
Thanks for this nice cleanup series.
> diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
> index df9f7c444c39..fbaad449dfc9 100644
> --- a/arch/sparc/mm/init_64.c
> +++ b/arch/sparc/mm/init_64.c
> @@ -2279,6 +2279,11 @@ static void __init reduce_memory(phys_addr_t limit_ram)
> memblock_enforce_memory_limit(limit_ram);
> }
>
> +void __init arch_zone_limits_init(unsigned long *max_zone_pfns)
> +{
> + max_zone_pfns[ZONE_NORMAL] = last_valid_pfn;
> +}
> +
> void __init paging_init(void)
> {
> unsigned long end_pfn, shift, phys_base;
> @@ -2461,6 +2466,7 @@ void __init paging_init(void)
>
> max_zone_pfns[ZONE_NORMAL] = end_pfn;
This old initialization of max_zone_pfns[ZONE_NORMAL] should also be
removed, right? With that removed it makes the local end_pfn variable
set but unused, so could you please also remove that one?
I know that this whole code block gets removed later, but the cleanup
max_zone_pfns[ZONE_NORMAL] and the removal of end_pfn (that is not done
later in this version of the series) fits logically in this patch.
>
> + arch_zone_limits_init(max_zone_pfns);
> free_area_init(max_zone_pfns);
> }
>
> diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c
> index f8fb4911d360..81e90151db90 100644
> --- a/arch/sparc/mm/srmmu.c
> +++ b/arch/sparc/mm/srmmu.c
> @@ -884,6 +884,13 @@ static void __init map_kernel(void)
>
> void (*poke_srmmu)(void) = NULL;
>
> +void __init arch_zone_limits_init(unsigned long *max_zone_pfns)
> +{
> + max_zone_pfns[ZONE_DMA] = max_low_pfn;
> + max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
> + max_zone_pfns[ZONE_HIGHMEM] = highend_pfn;
> +}
> +
> void __init srmmu_paging_init(void)
> {
> int i;
> @@ -967,10 +974,7 @@ void __init srmmu_paging_init(void)
> {
> unsigned long max_zone_pfn[MAX_NR_ZONES] = { 0 };
>
> - max_zone_pfn[ZONE_DMA] = max_low_pfn;
> - max_zone_pfn[ZONE_NORMAL] = max_low_pfn;
> - max_zone_pfn[ZONE_HIGHMEM] = highend_pfn;
> -
> + arch_zone_limits_init(max_zone_pfn);
> free_area_init(max_zone_pfn);
> }
> }
With the feedback for arch/sparc/mm/init_64.c addressed:
Acked-by: Andreas Larsson <andreas@...sler.com>
Cheers,
Andreas
Powered by blists - more mailing lists