Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1175578pxj; Fri, 4 Jun 2021 07:51:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz7T1nCriKSUE4+Khix6lYvpdMe6Oka7/2OuN+noqs9BA3FT459iFaVyZBbrz6VRvrmbUnZ X-Received: by 2002:a17:906:8a6c:: with SMTP id hy12mr3441885ejc.438.1622818312886; Fri, 04 Jun 2021 07:51:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622818312; cv=none; d=google.com; s=arc-20160816; b=MmLEssgrn9wevU/bO7LrdQjsL36piPP9cf97r3gG/7wbK0h2uCKlM9FhMvBIc12GGy VcGNIOVFwM7RQ0xoeMUa2L+BYsR860zQJKqaYRwVrUuEaIeiDIrzXGSmbbtkOoQrTifq hcTaII2wUeU0NpBd6R1dSmtXN0aeGescSvZWe+n9ksIDUH9sx/xlmXVa+H7lqVGDPJWE pm3Qi8GsRJ4U5pl2YJKwGJ9xCqGy5u/GJxhCYGUrT4YhTfHEyd6dYnR731SwdGyRJqzu vpIwSvngooiq9GF/YT8mh4iE0NYyfmLLbvoX/xnNe746CC59PgmhUedNsnwNAhFjYSI7 AyNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=2DnP244vePOcXFH4E4ZdTKC8rCM/oFV9mJXaSOOOGmQ=; b=YHK2rTIpMGH7gQrmHlD6pB0+ZI23ycRMWQdJIF/orLZlhfaQk6YcHfPOzX1OVLNNS3 PR1tcOGImV5uuGNejv5l7LrqtBg34OPKv+dKziZqRpCDEJqUmsiiAD+Web+HrO+E4gTg N60JQhABPNUqj8y8Sm+aE3NsM9AxpKkDVzLmvgExz6fqRjxnpYqYP76Tjgxw+QWc896A BvEpaI/Z9JOM7ooZGG27gPXRTBN/hEUudh8WGsrvDpCVXu4PsfWeK9ZOa8D0xwZbvwZu 5rBp9uLi8rtAz/T1Bf1ygQ6Yd71kSGnYN4EkFJOIp+uidSQIOCyObYlQkUSOkKdi7NiJ XkAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LwwJaCK2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z11si4928211edr.492.2021.06.04.07.51.29; Fri, 04 Jun 2021 07:51:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LwwJaCK2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230036AbhFDOvk (ORCPT + 99 others); Fri, 4 Jun 2021 10:51:40 -0400 Received: from mail.kernel.org ([198.145.29.99]:48878 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229656AbhFDOvj (ORCPT ); Fri, 4 Jun 2021 10:51:39 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3F7C46140B; Fri, 4 Jun 2021 14:49:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1622818193; bh=rnFSlNaPq8u6wC/6QmquuOa136Onpb4MOEGa2hLgk9I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=LwwJaCK2IwLxB9kyXGjYKVF9yzkzn7XRMKeQ8X72ltVfnmPF5p41UBu+e+05a9DAy tZKeaBQHBAcKLB2Qe5TMvMpTImanf/IJol37sjCQauBE3/upu93O1L0ehCiz24v3Eo sgkxYEhJA2jhJ1hXN8nOKaMM///ktUE3ni2XrsbrjomrPUTFManqUNJ/xUZvLqqjSH FSVnaCBtBJhMvzfd0MKLff525QxHTp7w4mkKBDT0KOaGgN/fy/0yJ+Z0e/so6SnMiQ P2u25M6Qqug84oEiWVQUttGG0bIXa2/7x8ISySiIyeKQCCUonmeBlNLWKV2nP78fa3 67XpLaAb4EoHQ== Date: Fri, 4 Jun 2021 17:49:41 +0300 From: Mike Rapoport To: Vineet Gupta Cc: Andrew Morton , Arnd Bergmann , Geert Uytterhoeven , Ivan Kokshaysky , Jonathan Corbet , Matt Turner , Mike Rapoport , Richard Henderson , "kexec@lists.infradead.org" , "linux-alpha@vger.kernel.org" , "linux-arch@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-doc@vger.kernel.org" , "linux-ia64@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-m68k@lists.linux-m68k.org" , "linux-mips@vger.kernel.org" , "linux-mm@kvack.org" , "linux-riscv@lists.infradead.org" , "linux-s390@vger.kernel.org" , "linux-sh@vger.kernel.org" , "linux-snps-arc@lists.infradead.org" , "linux-xtensa@linux-xtensa.org" , "linuxppc-dev@lists.ozlabs.org" , "sparclinux@vger.kernel.org" Subject: Re: [PATCH v2 3/9] arc: remove support for DISCONTIGMEM Message-ID: References: <20210604064916.26580-1-rppt@kernel.org> <20210604064916.26580-4-rppt@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > > > > 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 > > 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 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.