[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YLo9hb3yTeh3LBMg@kernel.org>
Date: Fri, 4 Jun 2021 17:49:41 +0300
From: Mike Rapoport <rppt@...nel.org>
To: Vineet Gupta <Vineet.Gupta1@...opsys.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Arnd Bergmann <arnd@...db.de>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Ivan Kokshaysky <ink@...assic.park.msu.ru>,
Jonathan Corbet <corbet@....net>,
Matt Turner <mattst88@...il.com>,
Mike Rapoport <rppt@...ux.ibm.com>,
Richard Henderson <rth@...ddle.net>,
"kexec@...ts.infradead.org" <kexec@...ts.infradead.org>,
"linux-alpha@...r.kernel.org" <linux-alpha@...r.kernel.org>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-ia64@...r.kernel.org" <linux-ia64@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-m68k@...ts.linux-m68k.org" <linux-m68k@...ts.linux-m68k.org>,
"linux-mips@...r.kernel.org" <linux-mips@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-riscv@...ts.infradead.org" <linux-riscv@...ts.infradead.org>,
"linux-s390@...r.kernel.org" <linux-s390@...r.kernel.org>,
"linux-sh@...r.kernel.org" <linux-sh@...r.kernel.org>,
"linux-snps-arc@...ts.infradead.org"
<linux-snps-arc@...ts.infradead.org>,
"linux-xtensa@...ux-xtensa.org" <linux-xtensa@...ux-xtensa.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"sparclinux@...r.kernel.org" <sparclinux@...r.kernel.org>
Subject: Re: [PATCH v2 3/9] arc: remove support for DISCONTIGMEM
On Fri, Jun 04, 2021 at 02:07:39PM +0000, Vineet Gupta wrote:
> On 6/3/21 11:49 PM, Mike Rapoport wrote:
> > From: Mike Rapoport <rppt@...ux.ibm.com>
> >
> > DISCONTIGMEM was replaced by FLATMEM with freeing of the unused memory map
> > in v5.11.
> >
> > Remove the support for DISCONTIGMEM entirely.
> >
> > Signed-off-by: Mike Rapoport <rppt@...ux.ibm.com>
>
> Looks non intrusive, but I'd still like to give this a spin on hardware
> - considering highmem on ARC has tendency to go sideways ;-)
> Can you please share a branch !
Sure:
https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git/log/?h=memory-models/rm-discontig/v2
> Acked-by: Vineet Gupta <vgupta@...opsys.com>
Thanks!
> Thx,
> -Vineet
>
> > ---
> > arch/arc/Kconfig | 13 ------------
> > arch/arc/include/asm/mmzone.h | 40 -----------------------------------
> > arch/arc/mm/init.c | 8 -------
> > 3 files changed, 61 deletions(-)
> > delete mode 100644 arch/arc/include/asm/mmzone.h
> >
> > diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> > index 2d98501c0897..d8f51eb8963b 100644
> > --- a/arch/arc/Kconfig
> > +++ b/arch/arc/Kconfig
> > @@ -62,10 +62,6 @@ config SCHED_OMIT_FRAME_POINTER
> > config GENERIC_CSUM
> > def_bool y
> >
> > -config ARCH_DISCONTIGMEM_ENABLE
> > - def_bool n
> > - depends on BROKEN
> > -
> > config ARCH_FLATMEM_ENABLE
> > def_bool y
> >
> > @@ -344,15 +340,6 @@ config ARC_HUGEPAGE_16M
> >
> > endchoice
> >
> > -config NODES_SHIFT
> > - int "Maximum NUMA Nodes (as a power of 2)"
> > - default "0" if !DISCONTIGMEM
> > - default "1" if DISCONTIGMEM
> > - depends on NEED_MULTIPLE_NODES
> > - help
> > - Accessing memory beyond 1GB (with or w/o PAE) requires 2 memory
> > - zones.
> > -
> > config ARC_COMPACT_IRQ_LEVELS
> > depends on ISA_ARCOMPACT
> > bool "Setup Timer IRQ as high Priority"
> > diff --git a/arch/arc/include/asm/mmzone.h b/arch/arc/include/asm/mmzone.h
> > deleted file mode 100644
> > index b86b9d1e54dc..000000000000
> > --- a/arch/arc/include/asm/mmzone.h
> > +++ /dev/null
> > @@ -1,40 +0,0 @@
> > -/* SPDX-License-Identifier: GPL-2.0-only */
> > -/*
> > - * Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
> > - */
> > -
> > -#ifndef _ASM_ARC_MMZONE_H
> > -#define _ASM_ARC_MMZONE_H
> > -
> > -#ifdef CONFIG_DISCONTIGMEM
> > -
> > -extern struct pglist_data node_data[];
> > -#define NODE_DATA(nid) (&node_data[nid])
> > -
> > -static inline int pfn_to_nid(unsigned long pfn)
> > -{
> > - int is_end_low = 1;
> > -
> > - if (IS_ENABLED(CONFIG_ARC_HAS_PAE40))
> > - is_end_low = pfn <= virt_to_pfn(0xFFFFFFFFUL);
> > -
> > - /*
> > - * node 0: lowmem: 0x8000_0000 to 0xFFFF_FFFF
> > - * node 1: HIGHMEM w/o PAE40: 0x0 to 0x7FFF_FFFF
> > - * HIGHMEM with PAE40: 0x1_0000_0000 to ...
> > - */
> > - if (pfn >= ARCH_PFN_OFFSET && is_end_low)
> > - return 0;
> > -
> > - return 1;
> > -}
> > -
> > -static inline int pfn_valid(unsigned long pfn)
> > -{
> > - int nid = pfn_to_nid(pfn);
> > -
> > - return (pfn <= node_end_pfn(nid));
> > -}
> > -#endif /* CONFIG_DISCONTIGMEM */
> > -
> > -#endif
> > diff --git a/arch/arc/mm/init.c b/arch/arc/mm/init.c
> > index 397a201adfe3..abfeef7bf6f8 100644
> > --- a/arch/arc/mm/init.c
> > +++ b/arch/arc/mm/init.c
> > @@ -32,11 +32,6 @@ unsigned long arch_pfn_offset;
> > EXPORT_SYMBOL(arch_pfn_offset);
> > #endif
> >
> > -#ifdef CONFIG_DISCONTIGMEM
> > -struct pglist_data node_data[MAX_NUMNODES] __read_mostly;
> > -EXPORT_SYMBOL(node_data);
> > -#endif
> > -
> > long __init arc_get_mem_sz(void)
> > {
> > return low_mem_sz;
> > @@ -147,9 +142,6 @@ void __init setup_arch_memory(void)
> > * to the hole is freed and ARC specific version of pfn_valid()
> > * handles the hole in the memory map.
> > */
> > -#ifdef CONFIG_DISCONTIGMEM
> > - node_set_online(1);
> > -#endif
> >
> > min_high_pfn = PFN_DOWN(high_mem_start);
> > max_high_pfn = PFN_DOWN(high_mem_start + high_mem_sz);
>
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists