[S390] do local_irq_restore while spinning in spin_lock_irqsave.
authorHisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Sat, 26 Jan 2008 13:11:28 +0000 (14:11 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Sat, 26 Jan 2008 13:11:31 +0000 (14:11 +0100)
commit894cdde26b538c77b9943bc72f0570abf6e58e37
tree335f75460bd947c4969c9b7a1ec5764b98bf1d2b
parentdab5209cd878c146d9f6923f061d1c2725ff210f
[S390] do local_irq_restore while spinning in spin_lock_irqsave.

In s390's spin_lock_irqsave, interrupts remain disabled while
spinning. In other architectures like x86 and powerpc, interrupts are
re-enabled while spinning if IRQ is not masked before spin_lock_irqsave
is called.

The following patch re-enables interrupts through local_irq_restore
while spinning for a lock acquisition.
This can improve system response.

[heiko.carstens@de.ibm.com: removed saving of pc]

Signed-off-by: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/lib/spinlock.c
include/asm-s390/spinlock.h