• Yasunori Goto's avatar
    [PATCH] pgdat allocation and update for ia64 of memory hotplug: update pgdat address array · 7049027c
    Yasunori Goto authored
    This is to refresh node_data[] array for ia64.  As I mentioned previous
    patches, ia64 has copies of information of pgdat address array on each node as
    per node data.
    
    At v2 of node_add, this function used stop_machine_run() to update them.  (I
    wished that they were copied safety as much as possible.) But, in this patch,
    this arrays are just copied simply, and set node_online_map bit after
    completion of pgdat initialization.
    
    So, kernel must touch NODE_DATA() macro after checking node_online_map().
    (Current code has already done it.) This is more simple way for just
    hot-add.....
    
    Note : It will be problem when hot-remove will occur,
           because, even if online_map bit is set, kernel may
           touch NODE_DATA() due to race condition. :-(
    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>
    7049027c
nodedata.h 1.85 KB