[PATCH v2 00/17] memblock: seasonal cleaning^w cleanup

From: Mike Rapoport
Date: Sun Aug 02 2020 - 12:36:23 EST


From: Mike Rapoport <rppt@xxxxxxxxxxxxx>

Hi,

These patches simplify several uses of memblock iterators and hide some of
the memblock implementation details from the rest of the system.

The patches are on top of v5.8-rc7 + cherry-pick of "mm/sparse: cleanup the
code surrounding memory_present()" [1] from mmotm tree.

v2 changes:
* replace for_each_memblock() with two versions, one for memblock.memory
and another one for memblock.reserved
* fix overzealous cleanup of powerpc fadamp: keep the traversal over the
memblocks, but use better suited iterators
* don't remove traversal over memblock.reserved in x86 numa cleanup but
replace for_each_memblock() with new for_each_reserved_mem_region()
* simplify ramdisk and crash kernel allocations on x86
* drop more redundant and unused code: __next_reserved_mem_region() and
memblock_mem_size()
* add description of numa initialization fix on arm64 (thanks Jonathan)
* add Acked and Reviewed tags

[1] http://lkml.kernel.org/r/20200712083130.22919-1-rppt@xxxxxxxxxx

Mike Rapoport (17):
KVM: PPC: Book3S HV: simplify kvm_cma_reserve()
dma-contiguous: simplify cma_early_percent_memory()
arm, xtensa: simplify initialization of high memory pages
arm64: numa: simplify dummy_numa_init()
h8300, nds32, openrisc: simplify detection of memory extents
riscv: drop unneeded node initialization
mircoblaze: drop unneeded NUMA and sparsemem initializations
memblock: make for_each_memblock_type() iterator private
memblock: make memblock_debug and related functionality private
memblock: reduce number of parameters in for_each_mem_range()
arch, mm: replace for_each_memblock() with for_each_mem_pfn_range()
arch, drivers: replace for_each_membock() with for_each_mem_range()
x86/setup: simplify initrd relocation and reservation
x86/setup: simplify reserve_crashkernel()
memblock: remove unused memblock_mem_size()
memblock: implement for_each_reserved_mem_region() using __next_mem_region()
memblock: use separate iterators for memory and reserved regions

.clang-format | 4 +-
arch/arm/kernel/setup.c | 18 +++--
arch/arm/mm/init.c | 59 ++++------------
arch/arm/mm/mmu.c | 39 ++++-------
arch/arm/mm/pmsa-v7.c | 20 +++---
arch/arm/mm/pmsa-v8.c | 17 +++--
arch/arm/xen/mm.c | 7 +-
arch/arm64/kernel/machine_kexec_file.c | 6 +-
arch/arm64/kernel/setup.c | 4 +-
arch/arm64/mm/init.c | 11 ++-
arch/arm64/mm/kasan_init.c | 10 +--
arch/arm64/mm/mmu.c | 11 +--
arch/arm64/mm/numa.c | 15 ++---
arch/c6x/kernel/setup.c | 9 +--
arch/h8300/kernel/setup.c | 8 +--
arch/microblaze/mm/init.c | 24 ++-----
arch/mips/cavium-octeon/dma-octeon.c | 12 ++--
arch/mips/kernel/setup.c | 31 +++++----
arch/mips/netlogic/xlp/setup.c | 2 +-
arch/nds32/kernel/setup.c | 8 +--
arch/openrisc/kernel/setup.c | 9 +--
arch/openrisc/mm/init.c | 8 ++-
arch/powerpc/kernel/fadump.c | 57 ++++++++--------
arch/powerpc/kvm/book3s_hv_builtin.c | 11 +--
arch/powerpc/mm/book3s64/hash_utils.c | 16 ++---
arch/powerpc/mm/book3s64/radix_pgtable.c | 11 ++-
arch/powerpc/mm/kasan/kasan_init_32.c | 8 +--
arch/powerpc/mm/mem.c | 33 +++++----
arch/powerpc/mm/numa.c | 7 +-
arch/powerpc/mm/pgtable_32.c | 8 +--
arch/riscv/mm/init.c | 34 +++-------
arch/riscv/mm/kasan_init.c | 10 +--
arch/s390/kernel/crash_dump.c | 8 +--
arch/s390/kernel/setup.c | 31 +++++----
arch/s390/mm/page-states.c | 6 +-
arch/s390/mm/vmem.c | 16 +++--
arch/sh/mm/init.c | 9 +--
arch/sparc/mm/init_64.c | 12 ++--
arch/x86/kernel/setup.c | 56 +++++-----------
arch/x86/mm/numa.c | 2 +-
arch/xtensa/mm/init.c | 55 +++------------
drivers/bus/mvebu-mbus.c | 12 ++--
drivers/irqchip/irq-gic-v3-its.c | 2 +-
drivers/s390/char/zcore.c | 9 +--
include/linux/memblock.h | 65 +++++++++---------
kernel/dma/contiguous.c | 11 +--
mm/memblock.c | 85 ++++++++----------------
mm/page_alloc.c | 11 ++-
mm/sparse.c | 10 ++-
49 files changed, 366 insertions(+), 561 deletions(-)

--
2.26.2