Re: [Lhms-devel] Re: 2.6.14-mm2

From: Dave Hansen
Date: Wed Nov 16 2005 - 11:31:33 EST


On Thu, 2005-11-17 at 01:02 +0900, Kamezawa Hiroyuki wrote:
> > Can you explain in a little bit more detail why this matters, and
> > exactly how it fixes your problem. I'm not sure it's correct.
> >
> Ah, okay.
>
> It's just because free_area[] is not initaialized at all if this is not called.
> It is list.next and list.prev has bad value.
> Then, the first free_page(page) will cause panic.

Hmmm. I _think_ you're just trying to do some things at runtime that I
didn't intend. In the patch I pointed to in the last mail, look at what
I did in hot_add_zone_init(). It does some of what
free_area_init_core() does, but only the most minimal bits. Basically:

zone_wait_table_init(zone, size_pages);
init_currently_empty_zone(zone, phys_start_pfn, size_pages);
zone_pcp_init(zone);

Your way may also be valid, but I broke out init_currently_empty_zone()
for a reason, and I think this was it. I don't think we want to be
calling free_area_init_core() itself at runtime.

-- Dave

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