[PATCH 0/6] arm64/mm: Enable memory hot remove and ZONE_DEVICE

From: Anshuman Khandual
Date: Wed Apr 03 2019 - 00:30:15 EST


This series enables memory hot remove on arm64, fixes a memblock removal
ordering problem in generic __remove_memory(), enables sysfs memory probe
interface on arm64. It also enables ZONE_DEVICE with struct vmem_altmap
support.

Testing:

Tested hot remove on arm64 for all 4K, 16K, 64K page config options with
all possible VA_BITS and PGTABLE_LEVELS combinations. Tested ZONE_DEVICE
with ARM64_4K_PAGES through a dummy driver.

Build tested on non arm64 platforms. I will appreciate if folks can test
arch_remove_memory() re-ordering in __remove_memory() on other platforms.

Dependency:

V5 series in the thread (https://lkml.org/lkml/2019/2/14/1096) will make
kernel linear mapping loose pgtable_page_ctor() init. When this happens
the proposed functions free_pte|pmd|pud_table() in [PATCH 2/6] will have
to stop calling pgtable_page_dtor().

Anshuman Khandual (5):
arm64/mm: Enable sysfs based memory hot add interface
arm64/mm: Enable memory hot remove
arm64/mm: Enable struct page allocation from device memory
mm/hotplug: Reorder arch_remove_memory() call in __remove_memory()
arm64/mm: Enable ZONE_DEVICE

Robin Murphy (1):
mm/memremap: Rename and consolidate SECTION_SIZE

arch/arm64/Kconfig | 13 +++
arch/arm64/include/asm/pgtable.h | 14 +++
arch/arm64/mm/mmu.c | 242 ++++++++++++++++++++++++++++++++++++++-
include/linux/mmzone.h | 1 +
kernel/memremap.c | 10 +-
mm/hmm.c | 2 -
mm/memory_hotplug.c | 3 +-
7 files changed, 271 insertions(+), 14 deletions(-)

--
2.7.4