mm: allow memory hotplug and hibernation in the same kernel
authorAndi Kleen <andi@firstfloor.org>
Tue, 17 Nov 2009 22:06:22 +0000 (14:06 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 18 Nov 2009 01:40:33 +0000 (17:40 -0800)
commit6ad696d2cf535772dff659298ec7e7260e344595
tree2f4d4d088a7bc8203473dcb96a1d1f0591f3de94
parent9398180097e359646d46083c3e079a54e20bee82
mm: allow memory hotplug and hibernation in the same kernel

Allow memory hotplug and hibernation in the same kernel

Memory hotplug and hibernation were exclusive in Kconfig.  This is
obviously a problem for distribution kernels who want to support both in
the same image.

After some discussions with Rafael and others the only problem is with
parallel memory hotadd or removal while a hibernation operation is in
process.  It was also working for s390 before.

This patch removes the Kconfig level exclusion, and simply makes the
memory add / remove functions grab the pm_mutex to exclude against
hibernation.

Fixes a regression - old kernels didn't exclude memory hotadd and
hibernation.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/suspend.h
mm/Kconfig
mm/memory_hotplug.c