OpenCloudOS-Kernel/arch/s390/lib
Martin Schwidefsky 419123f900 s390/spinlock: do not yield to a CPU in udelay/mdelay
It does not make sense to try to relinquish the time slice with diag 0x9c
to a CPU in a state that does not allow to schedule the CPU. The scenario
where this can happen is a CPU waiting in udelay/mdelay while holding a
spin-lock.

Add a CIF bit to tag a CPU in enabled wait and use it to detect that the
yield of a CPU will not be successful and skip the diagnose call.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-11-27 09:24:18 +01:00
..
Makefile s390: remove "64" suffix from mem64.S and swsusp_asm64.S 2015-03-25 11:49:51 +01:00
delay.c s390/udelay: make udelay have busy loop semantics 2015-10-14 14:32:13 +02:00
find.c s390/bitops: remove 31 bit related comments 2015-10-14 14:32:15 +02:00
mem.S s390: remove "64" suffix from mem64.S and swsusp_asm64.S 2015-03-25 11:49:51 +01:00
probes.c s390/uprobes: fix kprobes dependency 2014-10-17 14:45:51 +02:00
spinlock.c s390/spinlock: do not yield to a CPU in udelay/mdelay 2015-11-27 09:24:18 +01:00
string.c s390/string: provide asm lib functions for memcpy and memcmp 2012-09-26 15:44:50 +02:00
uaccess.c Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-03 15:46:07 -07:00