[PATCH] x86_32: fix trim mtrr not to setup_memory two times

From: Yinghai Lu
Date: Sun Mar 23 2008 - 03:14:41 EST



we could call find_max_pfn() directly instead of setup_memory() to get
max_pfn needed for mtrr trimming.

otherwise setup_mempry is called two times... that is duplicated...

Signed-off-by: Yinghai Lu <yhlu.kernel@xxxxxxxxx>

Index: linux-2.6/arch/x86/kernel/setup_32.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/setup_32.c
+++ linux-2.6/arch/x86/kernel/setup_32.c
@@ -448,8 +448,6 @@ static unsigned long __init setup_memory
*/
min_low_pfn = PFN_UP(init_pg_tables_end);

- find_max_pfn();
-
max_low_pfn = find_max_low_pfn();

#ifdef CONFIG_HIGHMEM
@@ -811,12 +809,13 @@ void __init setup_arch(char **cmdline_p)
if (efi_enabled)
efi_init();

- max_low_pfn = setup_memory();
-
/* update e820 for memory not covered by WB MTRRs */
+ find_max_pfn();
mtrr_bp_init();
if (mtrr_trim_uncached_memory(max_pfn))
- max_low_pfn = setup_memory();
+ find_max_pfn();
+
+ max_low_pfn = setup_memory();

#ifdef CONFIG_VMI
/*
Index: linux-2.6/arch/x86/mm/discontig_32.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/discontig_32.c
+++ linux-2.6/arch/x86/mm/discontig_32.c
@@ -324,7 +324,6 @@ unsigned long __init setup_memory(void)
* this space and use it to adjust the boundary between ZONE_NORMAL
* and ZONE_HIGHMEM.
*/
- find_max_pfn();
get_memcfg_numa();

kva_pages = calculate_numa_remap_pages();
--
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/