• Yasunori Goto's avatar
    [PATCH] Fix copying of pgdat array on each node for ia64 memory hotplug · dd8041f1
    Yasunori Goto authored
    I found a bug in memory hot-add code for ia64.
    
    IA64's code has copies of pgdat's array on each node to reduce memory
    access over crossing node.  This array is used by NODE_DATA() macro.  When
    new node is hot-added, this pgdat's array should be updated and copied on
    new node too.
    
    However, I used for_each_online_node() in scatter_node_data() to copy
    it. This meant its array is not copied on new node.
    Because initialization of structures for new node was halfway,
    so online_node_map couldn't be set at this time.
    
    To copy arrays on new node, I changed it to check value of pgdat_list[]
    which is source array of copies.  I tested this patch with my Memory Hotadd
    emulation on Tiger4.  This patch is for 2.6.17-git20.
    Signed-off-by: default avatarYasunori Goto <y-goto@jp.fujitsu.com>
    Cc: "Luck, Tony" <tony.luck@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    dd8041f1
discontig.c 22.3 KB