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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69F74C83007 for ; Wed, 29 Apr 2020 12:12:09 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1FF9B208FE for ; Wed, 29 Apr 2020 12:12:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="hgnMSCWz" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1FF9B208FE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id BE9678E0008; Wed, 29 Apr 2020 08:12:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B720E8E0001; Wed, 29 Apr 2020 08:12:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A132E8E0008; Wed, 29 Apr 2020 08:12:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0236.hostedemail.com [216.40.44.236]) by kanga.kvack.org (Postfix) with ESMTP id 820A18E0001 for ; Wed, 29 Apr 2020 08:12:08 -0400 (EDT) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 3C4AC5DD5 for ; Wed, 29 Apr 2020 12:12:08 +0000 (UTC) X-FDA: 76760779536.03.jeans33_2faad73b2e10e X-HE-Tag: jeans33_2faad73b2e10e X-Filterd-Recvd-Size: 9232 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf20.hostedemail.com (Postfix) with ESMTP for ; Wed, 29 Apr 2020 12:12:07 +0000 (UTC) Received: from aquarius.haifa.ibm.com (nesher1.haifa.il.ibm.com [195.110.40.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 04AE12087E; Wed, 29 Apr 2020 12:11:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588162326; bh=CFoz4ZQtC45vozRHIJrum+IyiIDDM2pB0vein0HN77Q=; h=From:To:Cc:Subject:Date:From; b=hgnMSCWznOV11pnvEM4YfvU+8wv88/ZeNbJu8KMC6K7gkkHInG7wntWOoWVIDBdtt ND0rc8rLqnEbT7tOFkRyD1b9ylk7tlkBvyPKex6XEtZa/Pteq/zSxb4B7MATB4kD7L pDJlFv/WqLPqmQTU05lR7ezlA4acIUyPiaMeu5No= From: Mike Rapoport To: linux-kernel@vger.kernel.org Cc: Andrew Morton , Baoquan He , Brian Cain , Catalin Marinas , "David S. Miller" , Geert Uytterhoeven , Greentime Hu , Greg Ungerer , Guan Xuetao , Guo Ren , Heiko Carstens , Helge Deller , Hoan Tran , "James E.J. Bottomley" , Jonathan Corbet , Ley Foon Tan , Mark Salter , Matt Turner , Max Filippov , Michael Ellerman , Michal Hocko , Michal Simek , Nick Hu , Paul Walmsley , Qian Cai , Richard Weinberger , Rich Felker , Russell King , Stafford Horne , Thomas Bogendoerfer , Tony Luck , Vineet Gupta , x86@kernel.org, Yoshinori Sato , linux-alpha@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-c6x-dev@linux-c6x.org, linux-csky@vger.kernel.org, linux-doc@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-um@lists.infradead.org, linux-xtensa@linux-xtensa.org, openrisc@lists.librecores.org, sparclinux@vger.kernel.org, uclinux-h8-devel@lists.sourceforge.jp, Mike Rapoport Subject: [PATCH v2 00/20] mm: rework free_area_init*() funcitons Date: Wed, 29 Apr 2020 15:11:06 +0300 Message-Id: <20200429121126.17989-1-rppt@kernel.org> X-Mailer: git-send-email 2.26.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: From: Mike Rapoport Hi, After the discussion [1] about removal of CONFIG_NODES_SPAN_OTHER_NODES a= nd CONFIG_HAVE_MEMBLOCK_NODE_MAP options, I took it a bit further and update= d the node/zone initialization.=20 Since all architectures have memblock, it is possible to use only the new= er version of free_area_init_node() that calculates the zone and node boundaries based on memblock node mapping and architectural limits on possible zone PFNs.=20 The architectures that still determined zone and hole sizes can be switch= ed to the generic code and the old code that took those zone and hole sizes can be simply removed. And, since it all started from the removal of CONFIG_NODES_SPAN_OTHER_NODES, the memmap_init() is now updated to iterat= e over memblocks and so it does not need to perform early_pfn_to_nid() quer= y for every PFN. v2 changes: * move deletion of one of '#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP' from patch 2 to patch 3 where it should have been from the beginning * drop patch that introduced a free_area_init_memoryless_node() wrapper for free_area_init_node() * remove unused next_pfn(), thanks Qian * drop stale comment in memmap_init_zone(), as per David -- Sincerely yours, Mike. [1] https://lore.kernel.org/lkml/1585420282-25630-1-git-send-email-Hoan@o= s.amperecomputing.com Baoquan He (1): mm: memmap_init: iterate over memblock regions rather that check each P= FN Mike Rapoport (19): mm: memblock: replace dereferences of memblock_region.nid with API call= s mm: make early_pfn_to_nid() and related defintions close to each other mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option mm: free_area_init: use maximal zone PFNs rather than zone sizes mm: use free_area_init() instead of free_area_init_nodes() alpha: simplify detection of memory zone boundaries arm: simplify detection of memory zone boundaries arm64: simplify detection of memory zone boundaries for UMA configs csky: simplify detection of memory zone boundaries m68k: mm: simplify detection of memory zone boundaries parisc: simplify detection of memory zone boundaries sparc32: simplify detection of memory zone boundaries unicore32: simplify detection of memory zone boundaries xtensa: simplify detection of memory zone boundaries mm: remove early_pfn_in_nid() and CONFIG_NODES_SPAN_OTHER_NODES mm: free_area_init: allow defining max_zone_pfn in descending order mm: clean up free_area_init_node() and its helpers mm: simplify find_min_pfn_with_active_regions() docs/vm: update memory-models documentation .../vm/numa-memblock/arch-support.txt | 34 --- Documentation/vm/memory-model.rst | 9 +- arch/alpha/mm/init.c | 16 +- arch/alpha/mm/numa.c | 22 +- arch/arc/mm/init.c | 36 +-- arch/arm/mm/init.c | 66 +---- arch/arm64/Kconfig | 1 - arch/arm64/mm/init.c | 56 +--- arch/arm64/mm/numa.c | 9 +- arch/c6x/mm/init.c | 8 +- arch/csky/kernel/setup.c | 26 +- arch/h8300/mm/init.c | 6 +- arch/hexagon/mm/init.c | 6 +- arch/ia64/Kconfig | 1 - arch/ia64/mm/contig.c | 2 +- arch/ia64/mm/discontig.c | 2 +- arch/m68k/mm/init.c | 6 +- arch/m68k/mm/mcfmmu.c | 9 +- arch/m68k/mm/motorola.c | 15 +- arch/m68k/mm/sun3mmu.c | 10 +- arch/microblaze/Kconfig | 1 - arch/microblaze/mm/init.c | 2 +- arch/mips/Kconfig | 1 - arch/mips/loongson64/numa.c | 2 +- arch/mips/mm/init.c | 2 +- arch/mips/sgi-ip27/ip27-memory.c | 2 +- arch/nds32/mm/init.c | 11 +- arch/nios2/mm/init.c | 8 +- arch/openrisc/mm/init.c | 9 +- arch/parisc/mm/init.c | 22 +- arch/powerpc/Kconfig | 10 - arch/powerpc/mm/mem.c | 2 +- arch/riscv/Kconfig | 1 - arch/riscv/mm/init.c | 2 +- arch/s390/Kconfig | 1 - arch/s390/mm/init.c | 2 +- arch/sh/Kconfig | 1 - arch/sh/mm/init.c | 2 +- arch/sparc/Kconfig | 10 - arch/sparc/mm/init_64.c | 2 +- arch/sparc/mm/srmmu.c | 21 +- arch/um/kernel/mem.c | 12 +- arch/unicore32/include/asm/memory.h | 2 +- arch/unicore32/include/mach/memory.h | 6 +- arch/unicore32/kernel/pci.c | 14 +- arch/unicore32/mm/init.c | 43 +-- arch/x86/Kconfig | 10 - arch/x86/mm/init.c | 2 +- arch/x86/mm/numa.c | 8 +- arch/xtensa/mm/init.c | 8 +- include/linux/memblock.h | 8 +- include/linux/mm.h | 28 +- include/linux/mmzone.h | 11 +- mm/Kconfig | 3 - mm/memblock.c | 19 +- mm/memory_hotplug.c | 4 - mm/page_alloc.c | 278 ++++++------------ 57 files changed, 243 insertions(+), 667 deletions(-) delete mode 100644 Documentation/features/vm/numa-memblock/arch-support.= txt --=20 2.26.1