[PATCH V2 0/2] arm64/mm: Enable memory hot remove

From: Anshuman Khandual
Date: Sun Apr 14 2019 - 02:00:12 EST


This series enables memory hot remove on arm64 after fixing a memblock
removal ordering problem in generic __remove_memory(). This is based
on the following arm64 working tree.

git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core

Testing:

Tested hot remove on arm64 for all 4K, 16K, 64K page config options with
all possible VA_BITS and PGTABLE_LEVELS combinations. Build tested on non
arm64 platforms.

Changes in V2:

- Added all received review and ack tags
- Split the series from ZONE_DEVICE enablement for better review

- Moved memblock re-order patch to the front as per Robin Murphy
- Updated commit message on memblock re-order patch per Michal Hocko

- Dropped [pmd|pud]_large() definitions
- Used existing [pmd|pud]_sect() instead of earlier [pmd|pud]_large()
- Removed __meminit and __ref tags as per Oscar Salvador
- Dropped unnecessary 'ret' init in arch_add_memory() per Robin Murphy
- Skipped calling into pgtable_page_dtor() for linear mapping page table
pages and updated all relevant functions

Changes in V1: (https://lkml.org/lkml/2019/4/3/28)

Anshuman Khandual (2):
mm/hotplug: Reorder arch_remove_memory() call in __remove_memory()
arm64/mm: Enable memory hot remove

arch/arm64/Kconfig | 3 +
arch/arm64/include/asm/pgtable.h | 2 +
arch/arm64/mm/mmu.c | 221 ++++++++++++++++++++++++++++++++++++++-
mm/memory_hotplug.c | 3 +-
4 files changed, 225 insertions(+), 4 deletions(-)

--
2.7.4