[PATCH v6 0/4] Cleanup and fixups for vmemmap handling

From: Oscar Salvador
Date: Tue Mar 09 2021 - 16:41:52 EST


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