WSL2-Linux-Kernel/arch
Mike Rapoport d622abf74f mm: memblock: replace dereferences of memblock_region.nid with API calls
Patch series "mm: rework free_area_init*() funcitons".

After the discussion [1] about removal of CONFIG_NODES_SPAN_OTHER_NODES
and CONFIG_HAVE_MEMBLOCK_NODE_MAP options, I took it a bit further and
updated the node/zone initialization.

Since all architectures have memblock, it is possible to use only the
newer 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.

The architectures that still determined zone and hole sizes can be
switched 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 iterate
over memblocks and so it does not need to perform early_pfn_to_nid() query
for every PFN.

[1] https://lore.kernel.org/lkml/1585420282-25630-1-git-send-email-Hoan@os.amperecomputing.com

This patch (of 21):

There are several places in the code that directly dereference
memblock_region.nid despite this field being defined only when
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y.

Replace these with calls to memblock_get_region_nid() to improve code
robustness and to avoid possible breakage when
CONFIG_HAVE_MEMBLOCK_NODE_MAP will be removed.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: Hoan Tran <hoan@os.amperecomputing.com>	[arm64]
Reviewed-by: Baoquan He <bhe@redhat.com>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Greg Ungerer <gerg@linux-m68k.org>
Cc: Guan Xuetao <gxt@pku.edu.cn>
Cc: Guo Ren <guoren@kernel.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Mark Salter <msalter@redhat.com>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Nick Hu <nickhu@andestech.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rich Felker <dalias@libc.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stafford Horne <shorne@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Link: http://lkml.kernel.org/r/20200412194859.12663-1-rppt@kernel.org
Link: http://lkml.kernel.org/r/20200412194859.12663-2-rppt@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-03 20:09:43 -07:00
..
alpha for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
arc ARC fixes for 5.7 2020-05-19 15:40:51 -07:00
arm for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
arm64 mm: memblock: replace dereferences of memblock_region.nid with API calls 2020-06-03 20:09:43 -07:00
c6x take the dummy csum_and_copy_from_user() into net/checksum.h 2020-05-29 16:11:50 -04:00
csky csky: Fixup CONFIG_DEBUG_RSEQ 2020-05-28 00:18:36 +00:00
h8300 h8300: ignore vmlinux.lds 2020-04-23 16:41:26 +09:00
hexagon arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
ia64 Merge branch 'from-miklos' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:44:06 -07:00
m68k for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
microblaze Merge branch 'from-miklos' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:44:06 -07:00
mips for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
nds32 arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
nios2 take the dummy csum_and_copy_from_user() into net/checksum.h 2020-05-29 16:11:50 -04:00
openrisc mm/special: create generic fallbacks for pte_special() and pte_mkspecial() 2020-04-10 15:36:21 -07:00
parisc for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
powerpc for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
riscv mm: switch the test_vmalloc module to use __vmalloc_node 2020-06-02 10:59:11 -07:00
s390 Merge branch 'akpm' (patches from Andrew) 2020-06-02 12:21:36 -07:00
sh Merge branch 'akpm' (patches from Andrew) 2020-06-02 12:21:36 -07:00
sparc for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
um um: Fix typo in vector driver transport option definition 2020-04-29 21:22:15 +02:00
unicore32 crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h 2020-05-08 15:32:17 +10:00
x86 mm: memblock: replace dereferences of memblock_region.nid with API calls 2020-06-03 20:09:43 -07:00
xtensa Merge branch 'from-miklos' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:44:06 -07:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Kconfig scs: Remove references to asm/scs.h from core code 2020-05-18 17:47:45 +01:00