Re: Config NO_BOOTMEM breaks my amd64 box

From: H. Peter Anvin
Date: Wed Mar 31 2010 - 20:39:13 EST


On 03/31/2010 04:54 PM, Yinghai Lu wrote:
>
> ---
> mm/bootmem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6/mm/bootmem.c
> ===================================================================
> --- linux-2.6.orig/mm/bootmem.c
> +++ linux-2.6/mm/bootmem.c
> @@ -303,7 +303,7 @@ unsigned long __init free_all_bootmem_no
> unsigned long __init free_all_bootmem(void)
> {
> #ifdef CONFIG_NO_BOOTMEM
> - return free_all_memory_core_early(NODE_DATA(0)->node_id);
> + return free_all_memory_core_early(MAX_NUMNODES);
> #else
> return free_all_bootmem_core(NODE_DATA(0)->bdata);
> #endif
>
>>
>> Furthermore, I really don't see the connection between this and James
>> Morris' reported problem, which he reports as "amd64", which presumably
>> is an x86-64 kernel and not 32 bits... James, is that correct? Any
>> more details you can give about the system? I *really* don't want to go
>> into cargo cult programming mode, that would suck eggs no matter what.
>
> it happened one of my test setup, node0 ram disappear somehow.
> and i found the 32bit numa doesn't work on that.
>

... which is useful and valid, but I still think this isn't related to
James' problem, if James' problem wasn't actually fixed in -rc3. That's
the part that I'm afraid I have to be confused about... all the known
problems except the above are fixed in -rc3, and I'd at least like to
have a validated bug report of any sort before saying it should all be
tossed.

This patch looks a lot better. The whole use of MAX_NUMNODES as a
sentinel (which appears inherited from mm/page_alloc.c, and as such is a
pre-existing convention which is also invoked here) really could use a
comment, though.

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