[S390] spinlock: check virtual cpu running status
authorGerald Schaefer <gerald.schaefer@de.ibm.com>
Fri, 26 Feb 2010 21:37:40 +0000 (22:37 +0100)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Fri, 26 Feb 2010 21:37:31 +0000 (22:37 +0100)
commit59b697874529f5c3cbcaf5816b3d6c584af521e8
treec395952c2a0bb9a3027a37a30dd37cc93b1a7c3f
parent8387c736fcbaec17890b8d075ee4f4623518b54a
[S390] spinlock: check virtual cpu running status

This patch introduces a new function that checks the running status
of a cpu in a hypervisor. This status is not virtualized, so the check
is only correct if running in an LPAR. On acquiring a spinlock, if the
cpu holding the lock is scheduled by the hypervisor, we do a busy wait
on the lock. If it is not scheduled, we yield over to that cpu.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/sigp.h
arch/s390/include/asm/smp.h
arch/s390/lib/spinlock.c