s390/spinlock: add compare-and-delay to lock wait loops
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 14 Jan 2015 16:52:33 +0000 (17:52 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 23 Jan 2015 14:17:04 +0000 (15:17 +0100)
commit2c72a44ecdf2a7ceac73844226e97ed2d5dd1e82
treea8475e1252115402a27b4c9a822943782085b151
parent55b5eb75e7ccdfe94b6ea1be6bba0c21149abecf
s390/spinlock: add compare-and-delay to lock wait loops

Add the compare-and-delay instruction to the spin-lock and rw-lock
retry loops. A CPU executing the compare-and-delay instruction stops
until the lock value has changed. This is done to make the locking
code for contended locks to behave better in regard to the multi-
hreading facility. A thread of a core executing a compare-and-delay
will allow the other threads of a core to get a larger share of the
core resources.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/setup.h
arch/s390/kernel/early.c
arch/s390/lib/spinlock.c