s390/smp: avoid concurrent write to sigp status field
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 30 Aug 2012 12:24:42 +0000 (14:24 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 26 Sep 2012 13:45:04 +0000 (15:45 +0200)
commitc5e3acd666543544d402c83d24d44e487fb51f11
treea73b7dea31241de6e379660bcd6fca6a39b9482b
parentfbf3c54239f77a82218002e0c511819e274e7cd4
s390/smp: avoid concurrent write to sigp status field

When a sigp instruction is issued it may store a status. This status is
currently stored in a per cpu field of the target cpu.
If multiple cpus issue a sigp instruction with the same target cpu
and a status is stored the result is not necessarily as expected.

Currently this is not an issue:
- on cpu hotplug no sigps, except "restart" and "sense" are sent to the
  target cpu.
- on external call we don't look at the status if it is stored
- on sense running the condition code "status stored" is sufficient to
  tell if a cpu is running or not

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/smp.c