summaryrefslogtreecommitdiffstats
path: root/arch/s390/pci
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2015-11-12 12:51:17 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-11-27 09:24:15 +0100
commitdb1c45154a82195ad0b4d45d0e330ebac6883b70 (patch)
tree4d7d411fcda98f9f0e4299c4578f64147696f35d /arch/s390/pci
parent1a2c5840acf9f657c9b580d4ee12a4c9db3429cb (diff)
downloadop-kernel-dev-db1c45154a82195ad0b4d45d0e330ebac6883b70.zip
op-kernel-dev-db1c45154a82195ad0b4d45d0e330ebac6883b70.tar.gz
s390/spinlock: avoid diagnose loop
The spinlock implementation calls the diagnose 0x9c / 0x44 immediately if the SIGP sense running reported the target CPU as not running. The diagnose 0x9c is a hint to the hypervisor to schedule the target CPU in preference to the source CPU that issued the diagnose. It can happen that on return from the diagnose the target CPU has not been scheduled yet, e.g. if the target logical CPU is on another physical CPU and the hypervisor did not want to migrate the logical CPU. Avoid the immediate repeat of the diagnose instruction, instead do the retry loop before the next invocation of diagnose 0x9c. Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/pci')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud