Hi, this series contains cleanups to remove dead code that handles unaligned cases for 4K and 1GB pages (patch#1 and patch#2) when removing the vemmmap range, and a fix (patch#3) to handle the case when two vmemmap ranges intersect the same PMD. More details can be found in the respective changelogs. v5 -> v6: - Fix some compilation errors when !CONFIG_MEMORY_HOTPLUG (Reported by Zi Yan) - Collect Acked-by from Dave v4 -> v5: - Rebase on top of 5.12-rc2 - Addessed feedback from Dave - Split previous patch#3 into core-changes (current patch#3) and the optimization (current patch#4) - Document better what is unused_pmd_start and its optimization - Added Acked-by for patch#1 v3 -> v4: - Rebase on top of 5.12-rc1 as Andrew suggested - Added last Reviewed-by for the last patch v2 -> v3: - Make sure we do not clear the PUD entry in case we are not removing the whole range. - Add Reviewed-by v1 -> v2: - Remove dead code in remove_pud_table as well - Addessed feedback by David - Place the vmemap functions that take care of unaligned PMDs within CONFIG_SPARSEMEM_VMEMMAP Oscar Salvador (4): x86/vmemmap: Drop handling of 4K unaligned vmemmap range x86/vmemmap: Drop handling of 1GB vmemmap ranges x86/vmemmap: Handle unpopulated sub-pmd ranges x86/vmemmap: Optimize for consecutive sections in partial populated PMDs arch/x86/mm/init_64.c | 203 +++++++++++++++++++++++++++++++------------------- 1 file changed, 128 insertions(+), 75 deletions(-) -- 2.16.3