x86_32: fix trim mtrr not to setup_memory two times
PATCH 1/1 x86_32: fix trim mtrr not to setup_memory two times
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 <[email protected]>
arch/x86/kernel/setup_32.c +4 -5
@@ -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 /*
arch/x86/mm/discontig_32.c +0 -1
@@ -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 ();