linux/include
Jeremy Fitzhardinge 168d2f464a xen: save previous spinlock when blocking
A spinlock can be interrupted while spinning, so make sure we preserve
the previous lock of interest if we're taking a lock from within an
interrupt handler.

We also need to deal with the case where the blocking path gets
interrupted between testing to see if the lock is free and actually
blocking.  If we get interrupted there and end up in the state where
the lock is free but the irq isn't pending, then we'll block
indefinitely in the hypervisor.  This fix is to make sure that any
nested lock-takers will always leave the irq pending if there's any
chance the outer lock became free.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-08-21 13:52:57 +02:00
..
acpi ACPICA: Additional error checking for pathname utilities 2008-08-15 02:12:16 +02:00
asm-arm [ARM] 5191/1: ARM: remove CVS keywords 2008-08-16 20:01:18 +01:00
asm-blackfin Blackfin arch: hook up some missing new system calls 2008-08-14 15:40:19 +08:00
asm-cris
asm-frv
asm-generic Make ioctl.h compatible with userland 2008-08-12 16:07:31 -07:00
asm-m32r
asm-m68k m68k{,nommu}: Wire up new system calls 2008-08-11 10:37:34 -07:00
asm-mips kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
asm-mn10300
asm-parisc
asm-um
asm-x86 x86/paravirt: add spin_lock_flags lock op 2008-08-20 12:40:07 +02:00
asm-xtensa
crypto crypto: hash - Add missing top-level functions 2008-08-13 20:08:44 +10:00
drm
keys
linux Merge branch 'linus' into x86/xen 2008-08-20 12:39:18 +02:00
math-emu
media
mtd
net ipv6: Kill unused ip6_prohibit_entry and ip6_blk_hole_entry declarations. 2008-08-13 02:35:39 -07:00
pcmcia
rdma
rxrpc
scsi
sound
video atmel_lcdfb: add board parameter specify framebuffer memory size 2008-08-12 16:07:29 -07:00
xen xen: save previous spinlock when blocking 2008-08-21 13:52:57 +02:00
Kbuild