çå: [PATCH] Initialize max_pfn_mapped as initial ident mapping size for x86_64

From: Zhenzhong Duan
Date: Mon Mar 05 2012 - 02:49:46 EST



----- zhenzhong.duan@xxxxxxxxxx åéï

> It's better to initialize max_pfn_mapped as initial ident
> mapping size but not initial kernel map size for x86_64.
> This is also in accordance with i386 code.
>
> It lead to page tables allocation to as high as 1G for
> init_memory_mapping,
> this will allow larger crashkernel reservation.
>
> Tested on HP DL980G7, it can reserve more than 521MiB space for kdump
> kernel now.
> http://bugzilla.oracle.com/bugzilla/show_bug.cgi?id=13405
>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
> Tested-by: Dawei Pang <dawei.pang@xxxxxx>
> ---
> arch/x86/kernel/head64.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
> index 3a3b779..3beb94f 100644
> --- a/arch/x86/kernel/head64.c
> +++ b/arch/x86/kernel/head64.c
> @@ -77,7 +77,7 @@ void __init x86_64_start_kernel(char *
> real_mode_data)
> /* Make NULL pointers segfault */
> zap_identity_mappings();
>
> - max_pfn_mapped = KERNEL_IMAGE_SIZE >> PAGE_SHIFT;
> + max_pfn_mapped = PUD_PAGE_SIZE >> PAGE_SHIFT;
>
> for (i = 0; i < NUM_EXCEPTION_VECTORS; i++) {
> #ifdef CONFIG_EARLY_PRINTK
> --
> 1.7.3

Hmm, any comment is welcome
thanks

zduan
--
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/