linux/drivers/xen
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
..
xenbus xen: clean up domain mode predicates 2008-08-20 12:40:07 +02:00
balloon.c xen: clean up domain mode predicates 2008-08-20 12:40:07 +02:00
events.c xen: save previous spinlock when blocking 2008-08-21 13:52:57 +02:00
features.c xen: move features.c from arch/x86/xen/features.c to drivers/xen 2008-04-24 23:57:32 +02:00
grant-table.c xen: clean up domain mode predicates 2008-08-20 12:40:07 +02:00
Kconfig xen: add balloon driver 2008-04-24 23:57:33 +02:00
Makefile xen: Move manage.c to drivers/xen for ia64/xen support 2008-05-27 10:11:36 +02:00
manage.c linux-next: pci tree build failure 2008-07-18 09:51:02 +02:00
xencomm.c xen: import arch generic part of xencomm 2008-04-24 23:57:32 +02:00