This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: "H. Peter Anvin" <hpa@xxxxxxxxx>
Subject: [Xen-devel] [PATCH 0/3] x86: remove x86_init.mapping.pagetable_reserve
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue, 7 Jun 2011 19:13:03 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>, Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, Stefano, Ingo Molnar <mingo@xxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx>, Yinghai Lu <yinghai@xxxxxxxxxx>
Delivery-date: Tue, 07 Jun 2011 11:11:02 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
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

At this point we can also safely revert "x86,xen: introduce

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:

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

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:


- Stefano

Xen-devel mailing list