powerpc: Bring all threads online prior to migration/hibernation
authorRobert Jennings <rcj@linux.vnet.ibm.com>
Tue, 7 May 2013 04:34:11 +0000 (04:34 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 14 May 2013 04:36:29 +0000 (14:36 +1000)
commit120496ac2d2d60aee68d3123a68169502a85f4b5
treec0f3fcebb7cf53ffcbfb2dd7032c7a03c7fd5f23
parenta94a14720eaf55c5f06d6ca7ecbe3f87f6864fc6
powerpc: Bring all threads online prior to migration/hibernation

This patch brings online all threads which are present but not online
prior to migration/hibernation.  After migration/hibernation those
threads are taken back offline.

During migration/hibernation all online CPUs must call H_JOIN, this is
required by the hypervisor.  Without this patch, threads that are offline
(H_CEDE'd) will not be woken to make the H_JOIN call and the OS will be
deadlocked (all threads either JOIN'd or CEDE'd).

Cc: <stable@kernel.org>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/rtas.h
arch/powerpc/kernel/rtas.c
arch/powerpc/platforms/pseries/suspend.c