]> git.baikalelectronics.ru Git - kernel.git/commit
s390/kernel: Fix smp_call_ipl_cpu() for offline CPUs
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>
Thu, 24 May 2012 12:38:26 +0000 (14:38 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 30 May 2012 07:04:51 +0000 (09:04 +0200)
commitf4e7d23d2a05da5edc664d29c0a9d4ae88ed1fe6
tree6f41ed465199eb7c5a8b31ff6b834c0b5aa2565e
parente9f6288aa48d9be64c584bd2117aee85cdb5f78c
s390/kernel: Fix smp_call_ipl_cpu() for offline CPUs

If the IPL CPU is offline, currently the pcpu_delegate() function
used by smp_call_ipl_cpu() does not work because pcpu_delegate()
modifies the lowcore of the target CPU. In case of an offline
IPL CPU currently the prefix register is zero but pcpu->lowcore
still points to the old prefix page. Therefore the lowcore changes
done by pcpu_delegate() have no effect.

With this fix pcpu_delegate() now uses memcpy_absolute() and therefore
also prepares the absolute zero lowcore if the target CPU has prefix
register zero.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/smp.c