From: Mike Rapoport <rppt@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Rich Felker <dalias@libc.org>,
linux-ia64@vger.kernel.org, linux-doc@vger.kernel.org,
Catalin Marinas <catalin.marinas@arm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Michal Hocko <mhocko@kernel.org>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Max Filippov <jcmvbkbc@gmail.com>, Guo Ren <guoren@kernel.org>,
linux-csky@vger.kernel.org, linux-parisc@vger.kernel.org,
sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org,
linux-riscv@lists.infradead.org,
Mike Rapoport <rppt@linux.ibm.com>,
Greg Ungerer <gerg@linux-m68k.org>,
linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
linux-c6x-dev@linux-c6x.org, Baoquan He <bhe@redhat.com>,
Jonathan Corbet <corbet@lwn.net>,
linux-sh@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
Helge Deller <deller@gmx.de>,
x86@kernel.org, Russell King <linux@armlinux.org.uk>,
Ley Foon Tan <ley.foon.tan@in>
Subject: [PATCH 00/21] mm: rework free_area_init*() funcitons
Date: Sun, 12 Apr 2020 22:48:38 +0300 [thread overview]
Message-ID: <20200412194859.12663-1-rppt@kernel.org> (raw)
From: Mike Rapoport <rppt@linux.ibm.com>
Hi,
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.
--
Sincerely yours,
Mike.
[1] https://lore.kernel.org/lkml/1585420282-25630-1-git-send-email-Hoan@os.amperecomputing.com
Baoquan He (1):
mm: memmap_init: iterate over memblock regions rather that check each PFN
Mike Rapoport (20):
mm: memblock: replace dereferences of memblock_region.nid with API calls
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: rename free_area_init_node() to free_area_init_memoryless_node()
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 | 11 +-
arch/xtensa/mm/init.c | 8 +-
include/linux/memblock.h | 8 +-
include/linux/mm.h | 30 +-
include/linux/mmzone.h | 11 +-
mm/Kconfig | 3 -
mm/memblock.c | 19 +-
mm/memory_hotplug.c | 4 -
mm/page_alloc.c | 262 +++++++-----------
57 files changed, 249 insertions(+), 650 deletions(-)
delete mode 100644 Documentation/features/vm/numa-memblock/arch-support.txt
--
2.25.1
next reply other threads:[~2020-04-12 19:48 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-12 19:48 Mike Rapoport [this message]
2020-04-12 19:48 ` [PATCH 01/21] mm: memblock: replace dereferences of memblock_region.nid with API calls Mike Rapoport
2020-04-21 2:06 ` Baoquan He
2020-04-12 19:48 ` [PATCH 02/21] mm: make early_pfn_to_nid() and related defintions close to each other Mike Rapoport
2020-04-21 2:24 ` Baoquan He
2020-04-21 8:49 ` Mike Rapoport
2020-04-21 8:49 ` Mike Rapoport
2020-04-21 9:33 ` Baoquan He
2020-04-21 3:31 ` Baoquan He
2020-04-21 8:39 ` Mike Rapoport
2020-04-21 8:39 ` Mike Rapoport
2020-04-12 19:48 ` [PATCH 03/21] mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option Mike Rapoport
2020-04-21 4:23 ` Baoquan He
2020-04-21 9:09 ` Mike Rapoport
2020-04-21 9:09 ` Mike Rapoport
2020-04-21 9:45 ` Baoquan He
2020-04-12 19:48 ` [PATCH 04/21] mm: free_area_init: use maximal zone PFNs rather than zone sizes Mike Rapoport
2020-04-22 23:41 ` Baoquan He
2020-06-15 3:53 ` Greg Ungerer
2020-06-15 6:22 ` Mike Rapoport
2020-06-15 6:22 ` Mike Rapoport
2020-06-15 7:17 ` Greg Ungerer
2020-04-12 19:48 ` [PATCH 05/21] mm: use free_area_init() instead of free_area_init_nodes() Mike Rapoport
2020-04-23 0:02 ` Baoquan He
2020-04-12 19:48 ` [PATCH 06/21] alpha: simplify detection of memory zone boundaries Mike Rapoport
2020-04-12 19:48 ` [PATCH 07/21] arm: " Mike Rapoport
2020-04-12 19:48 ` [PATCH 08/21] arm64: simplify detection of memory zone boundaries for UMA configs Mike Rapoport
2020-04-12 19:48 ` [PATCH 09/21] csky: simplify detection of memory zone boundaries Mike Rapoport
2020-04-12 19:48 ` [PATCH 10/21] m68k: mm: " Mike Rapoport
2020-04-12 19:48 ` [PATCH 11/21] parisc: " Mike Rapoport
2020-04-12 19:48 ` [PATCH 12/21] sparc32: " Mike Rapoport
2020-04-12 19:48 ` [PATCH 13/21] unicore32: " Mike Rapoport
2020-04-12 19:48 ` [PATCH 14/21] xtensa: " Mike Rapoport
2020-04-12 19:48 ` [PATCH 15/21] mm: memmap_init: iterate over memblock regions rather that check each PFN Mike Rapoport
2020-04-20 14:26 ` Qian Cai
2020-04-24 7:22 ` David Hildenbrand
2020-04-25 16:49 ` Mike Rapoport
2020-04-25 16:49 ` Mike Rapoport
2020-04-12 19:48 ` [PATCH 16/21] mm: remove early_pfn_in_nid() and CONFIG_NODES_SPAN_OTHER_NODES Mike Rapoport
2020-04-23 1:13 ` Baoquan He
2020-04-23 5:50 ` Mike Rapoport
2020-04-23 5:50 ` Mike Rapoport
2020-05-18 21:38 ` Hoan Tran
2020-04-12 19:48 ` [PATCH 17/21] mm: free_area_init: allow defining max_zone_pfn in descending order Mike Rapoport
2020-04-23 2:53 ` Baoquan He
2020-04-23 2:57 ` Baoquan He
2020-04-23 5:55 ` Mike Rapoport
2020-04-23 5:55 ` Mike Rapoport
2020-04-24 0:33 ` Baoquan He
2020-04-12 19:48 ` [PATCH 18/21] mm: rename free_area_init_node() to free_area_init_memoryless_node() Mike Rapoport
2020-04-23 3:14 ` Baoquan He
2020-04-23 6:18 ` Mike Rapoport
2020-04-23 6:18 ` Mike Rapoport
2020-04-12 19:48 ` [PATCH 19/21] mm: clean up free_area_init_node() and its helpers Mike Rapoport
2020-04-12 19:48 ` [PATCH 20/21] mm: simplify find_min_pfn_with_active_regions() Mike Rapoport
2020-04-12 19:48 ` [PATCH 21/21] docs/vm: update memory-models documentation Mike Rapoport
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200412194859.12663-1-rppt@kernel.org \
--to=rppt@kernel.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=bhe@redhat.com \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=dalias@libc.org \
--cc=deller@gmx.de \
--cc=gerg@linux-m68k.org \
--cc=guoren@kernel.org \
--cc=heiko.carstens@de.ibm.com \
--cc=jcmvbkbc@gmail.com \
--cc=ley.foon.tan@in \
--cc=linux-arch@vger.kernel.org \
--cc=linux-c6x-dev@linux-c6x.org \
--cc=linux-csky@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hexagon@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mhocko@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=rppt@linux.ibm.com \
--cc=sparclinux@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).