[PATCH v1 0/7] mm/memory_hotplug: Factor out memory block device handling
David Hildenbrand
david at redhat.com
Wed Apr 24 20:25:04 AEST 2019
We only want memory block devices for memory to be onlined/offlined
(add/remove from the buddy). This is required so user space can
online/offline memory and kdump gets notified about newly onlined memory.
Only such memory has the requirement of having to span whole memory blocks.
Let's factor out creation/removal of memory block devices. This helps
to further cleanup arch_add_memory/arch_remove_memory() and to make
implementation of new features (e.g. sub-section hot-add) easier.
Patch 1 makes sure the memory block size granularity is always respected.
Patch 2 implements arch_remove_memory() on s390x. Patch 3 prepares
arch_remove_memory() to be also called without CONFIG_MEMORY_HOTREMOVE.
Patch 4,5 and 6 factor out creation/removal of memory block devices.
Patch 7 gets rid of some unlikely errors that could have happened, not
removinf links between memory block devices and nodes, previously brought
up by Oscar.
Did a quick sanity test with DIMM plug/unplug, making sure all devices
and sysfs links properly get added/removed. Compile tested on s390x and
x86-64.
Based on git://git.cmpxchg.org/linux-mmots.git
David Hildenbrand (7):
mm/memory_hotplug: Simplify and fix check_hotplug_memory_range()
s390x/mm: Implement arch_remove_memory()
mm/memory_hotplug: arch_remove_memory() and __remove_pages() with
CONFIG_MEMORY_HOTPLUG
mm/memory_hotplug: Create memory block devices after arch_add_memory()
mm/memory_hotplug: Drop MHP_MEMBLOCK_API
mm/memory_hotplug: Remove memory block devices before
arch_remove_memory()
mm/memory_hotplug: Make unregister_memory_block_under_nodes() never
fail
arch/ia64/mm/init.c | 2 -
arch/powerpc/mm/mem.c | 2 -
arch/s390/mm/init.c | 15 +++--
arch/sh/mm/init.c | 2 -
arch/x86/mm/init_32.c | 2 -
arch/x86/mm/init_64.c | 2 -
drivers/base/memory.c | 109 +++++++++++++++++++--------------
drivers/base/node.c | 27 +++-----
include/linux/memory.h | 6 +-
include/linux/memory_hotplug.h | 10 ---
include/linux/node.h | 7 +--
mm/memory_hotplug.c | 42 +++++--------
mm/sparse.c | 6 --
13 files changed, 100 insertions(+), 132 deletions(-)
--
2.20.1
More information about the Linuxppc-dev
mailing list