Re: [PATCH x86,mm] fix pgt_buf_end when memory hotplug

From: Stefano Stabellini
Date: Thu Sep 08 2011 - 11:13:19 EST


On Thu, 8 Sep 2011, Lai Jiangshan wrote:
>
> When I test memory hotplug, such message is always outputted when hot-adding
> a memory block:
>
> initial kernel pagetable allocation wasted ffffffffffffffff pages

I take you are using tip/x86/mm, because that is the only branch that
contains that warning.


> This message comes from init_memory_mapping(), it shows "pgt_buf_end" is
> incorrect here, and I found it was caused by alloc_low_page().
>
> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
> ---
> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
> index bbaaa00..e138e0a 100644
> --- a/arch/x86/mm/init_64.c
> +++ b/arch/x86/mm/init_64.c
> @@ -317,7 +317,7 @@ void __init cleanup_highmap(void)
>
> static __ref void *alloc_low_page(unsigned long *phys)
> {
> - unsigned long pfn = pgt_buf_end++;
> + unsigned long pfn;
> void *adr;
>
> if (after_bootmem) {
> @@ -327,6 +327,7 @@ static __ref void *alloc_low_page(unsigned long *phys)
> return adr;
> }
>
> + pfn = pgt_buf_end++;
> if (pfn >= pgt_buf_top)
> panic("alloc_low_page: ran out of memory");


This patch makes sense to me. It would also make sense to print the
"allocation wasted" warning only if (!after_bootmem).
--
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/