The series fixes several bugs in vmemmap optimization, mainly about incorrect page accounting when vmemmap optimization is enabled for DAX and memory hotplug paths. Also fixes the pageblock migratetype initialization for ZONE_DEVICE compound pages.
v2 -> v3: - Drop patch 4 and patch 5 from v2 since the page table sync issue has already been fixed by Harry's series. - [Patch 1]: Remove an unintentionally left line. - [Patch 4 (previously Patch 6)]: Call cond_resched() every PAGES_PER_SECTION instead of every compound page, as suggested by Mike Rapoport. - Collect Acked-by and Reviewed-by tags from Mike Rapoport. Muchun Song (4): mm/sparse-vmemmap: Fix vmemmap accounting underflow mm/sparse-vmemmap: Pass @pgmap argument to memory deactivation paths mm/sparse-vmemmap: Fix DAX vmemmap accounting with optimization mm/mm_init: Fix pageblock migratetype for ZONE_DEVICE compound pages arch/arm64/mm/mmu.c | 5 +-- arch/loongarch/mm/init.c | 5 +-- arch/powerpc/mm/mem.c | 5 +-- arch/riscv/mm/init.c | 5 +-- arch/s390/mm/init.c | 5 +-- arch/x86/mm/init_64.c | 5 +-- include/linux/memory_hotplug.h | 8 +++-- mm/memory_hotplug.c | 12 +++---- mm/memremap.c | 4 +-- mm/mm_init.c | 43 +++++++++++++++--------- mm/sparse-vmemmap.c | 61 +++++++++++++++++++++++++--------- 11 files changed, 104 insertions(+), 54 deletions(-) -- 2.20.1
