[PATCH v2 0/2] s390/mm: don't set ARCH_KEEP_MEMBLOCK

From: David Hildenbrand
Date: Wed Jul 01 2020 - 10:18:51 EST


This series is based on the latest s390/features branch, which contains
"s390/zcore: remove memmap device". [1]

Looking into why we still create memblocks for stdnaby/hotplugged memory
(via add_memory()), I discovered that we might not need ARCH_KEEP_MEMBLOCK
on s390x after all.

This is relevant in the context of virtio-mem, where we hotplug a lot of
small memory blocks (and want to avoid managing unused metadata). But also
for existing setups, it might help to free up some memory after boot.

Compile-tested on s390x, pseries, arm64, i386, mips64, powernv, sh, and
x86_64.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git/commit/?h=features

v1 -> v2:
- "mm/memblock: expose only miminal interface to add/walk physmem"
-- Use inline function for __next_physmem_range
-- Rewrite some comments

RFC -> v1:
- "s390/zcore: traverse resources instead of memblocks" has been replaced
on s390/features by "s390/zcore: remove memmap devic"
- Add "mm/memblock: expose only miminal interface to add/walk physmem"
-- Sort out section mismatch errors when using physmem after boot without
ARCH_KEEP_MEMBLOCK
- "s390/mm: don't set ARCH_KEEP_MEMBLOCK"
-- Rephrase description

David Hildenbrand (2):
mm/memblock: expose only miminal interface to add/walk physmem
s390/mm: don't set ARCH_KEEP_MEMBLOCK

arch/s390/Kconfig | 1 -
arch/s390/kernel/crash_dump.c | 6 ++--
include/linux/memblock.h | 28 ++++++++++++++---
mm/memblock.c | 57 ++++++++++++++++++-----------------
4 files changed, 55 insertions(+), 37 deletions(-)

--
2.26.2