Re: [PATCH] mm: Fix memory hotplug oops from ZONE_MOVABLE changes.

From: KAMEZAWA Hiroyuki
Date: Fri Jul 20 2007 - 03:20:42 EST


On Fri, 20 Jul 2007 15:03:42 +0900
Paul Mundt <lethal@xxxxxxxxxxxx> wrote:

> zone_movable_pfn is presently marked as __initdata and referenced
> from adjust_zone_range_for_zone_movable(), which in turn is
> referenced by zone_spanned_pages_in_node(). Both of these are
> __meminit annotated. When memory hotplug is enabled, this will oops
> on a hot-add, due to zone_movable_pfn having been freed.
>
> __meminitdata annotation gives the desired behaviour.
>
> This will only impact platforms that enable both memory hotplug
> and ARCH_POPULATES_NODE_MAP.
>
> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>
>
Thank you for catching.
It seems that this route will called at node-hotplug.
We tested node hotplug with our machine but haven't seen this.

The reason is maybe...
==
Currently, our firmware shows *to-be-added* nodes in SRAT at boot and
ia64 creates empty node against possible node. So, when we add node,
pgdat is already allocated and free_area_init_core() is not called at hotplug.
==
We need to use dummy firmware to test this route, sorry.

just thinking of:
I'm now considering to post patches for "specifies a zone which all hotaddes pages are
added to, MOVABLE, NORMAL, DMA..."If we do that, we may be able to avoid calling
adjust_zone_range_for_zone_movable() (which touches this __meminit data) at hot-add.

Thanks,
-Kame

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