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)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 30 May 2013 13:34:59 +0000 (14:34 +0100)
commit97bc4b97d4908d5c76592b740e88df0ca6362e59
tree0af713943fb8eec2bc9cec6582b7fa1b950b46b1
parent37dda1cc714d2af30ab5a537907b4317c6bb62e6
powerpc: Bring all threads online prior to migration/hibernation

commit 120496ac2d2d60aee68d3123a68169502a85f4b5 upstream.

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).

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