• Nathan Zimmer's avatar
    mm/memory_hotplug.c: move register_memory_resource out of the lock_memory_hotplug · ac13c462
    Nathan Zimmer authored
    We don't need to do register_memory_resource() under
    lock_memory_hotplug() since it has its own lock and doesn't make any
    callbacks.
    
    Also register_memory_resource return NULL on failure so we don't have
    anything to cleanup at this point.
    
    The reason for this rfc is I was doing some experiments with hotplugging
    of memory on some of our larger systems.  While it seems to work, it can
    be quite slow.  With some preliminary digging I found that
    lock_memory_hotplug is clearly ripe for breakup.
    
    It could be broken up per nid or something but it also covers the
    online_page_callback.  The online_page_callback shouldn't be very hard
    to break out.
    
    Also there is the issue of various structures(wmarks come to mind) that
    are only updated under the lock_memory_hotplug that would need to be
    dealt with.
    
    Cc: Tang Chen <tangchen@cn.fujitsu.com>
    Cc: Wen Congyang <wency@cn.fujitsu.com>
    Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Reviewed-by: default avatarYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
    Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
    Cc: Hedi <hedi@sgi.com>
    Cc: Mike Travis <travis@sgi.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    ac13c462
memory_hotplug.c 48.4 KB