[PATCH 0/3] x86: remove x86_init.mapping.pagetable_reserve

From: Stefano Stabellini
Date: Tue Jun 07 2011 - 14:10:00 EST


Currently find_early_table_space calculates an overestimate of how much
memory the pagetable for 1:1 mapping is going to need. After
kernel_physical_mapping_init completes we know exactly how much memory
we used so we memblock reserve only the used memory and "free" the rest.

This patch series modifies find_early_table_space to calculate the exact
amount of memory we need for the 1:1 mapping, so that we can memblock
reverve it right away and we don't need to free the unused memory after
kernel_physical_mapping_init.

At this point we can also safely revert "x86,xen: introduce
x86_init.mapping.pagetable_reserve".


The list of patches with diffstat follows:

Stefano Stabellini (3):
x86: calculate precisely the memory needed by init_memory_mapping
Revert "x86,xen: introduce x86_init.mapping.pagetable_reserve"
x86: move memblock_x86_reserve_range PGTABLE to find_early_table_space

arch/x86/include/asm/pgtable_types.h | 1 -
arch/x86/include/asm/x86_init.h | 12 -----
arch/x86/kernel/x86_init.c | 4 --
arch/x86/mm/init.c | 87 +++++++++++++++++++---------------
arch/x86/xen/mmu.c | 15 ------
5 files changed, 49 insertions(+), 70 deletions(-)


Many thanks to Konrad that helped me review the patch series and
performed an impressive amount of tests:

*Configurations
baremetal Linux 64-bit
baremetal Linux 32-bit NOHIGHMEM, HIGHMEM4G and HIGHMEM64G
32-bit and 64-bit Linux on Xen
32-bit and 64-bit Linux HVM on Xen


*Hardware
AMD development box (Tilapia) - 8GB
AMD BIOSTAR Grp N61PB-M2S/N61PB-M2S (Sempron) - 4GB
Intel DX58SO (Core i7) - 8GB
Supermicro X7DB8/X7DB8 (Harpertown) - 4GB
IBM x3850 (Cranford) - 8GB
MSI MS-7680/H61M-P23 (MS-7680) (SandyBridge, i2500)- 8GB


A git branch based on 3.0-rc1 is available here:

git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git 3.0-rc1-rem_pg_reserve-4

- Stefano
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/