[PATCH 0/7] mm/hotplug: Only use subsection in VMEMMAP case and fix hot add/remove failure in SPARSEMEM|!VMEMMAP case

From: Baoquan He
Date: Sun Feb 09 2020 - 05:49:03 EST


Memory sub-section hotplug was added to fix the issue that nvdimm could
be mapped at non-section aligned starting address. A subsection map is
added into struct mem_section_usage implement it. However, sub-section
is only supported in VMEMMAP case, there's no need to operate subsection
map in SPARSEMEM|!VMEMMAP. The former 4 patches is for it.

And since sub-section hotplug added, the hot add/remove functionality
have been broken in SPARSEMEM|!VMEMMAP case. Wei Yang and I, each of us
make one patch to fix one issue.

Baoquan He (6):
mm/sparse.c: Introduce new function fill_subsection_map()
mm/sparse.c: Introduce a new function clear_subsection_map()
mm/sparse.c: only use subsection map in VMEMMAP case
mm/sparse.c: Use __get_free_pages() instead in
populate_section_memmap()
mm/sparse.c: update code comment about section activate/deactivate
mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case

Wei Yang (1):
mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM

include/linux/mmzone.h | 2 +
mm/sparse.c | 248 ++++++++++++++++++++++++++---------------
2 files changed, 161 insertions(+), 89 deletions(-)

--
2.17.2