dffe2e1e1a
Xen events are logically edge triggered, as Xen only calls the event upcall when an event is newly set, but not continuously as it remains set. As a result, use handle_edge_irq rather than handle_level_irq. This has the important side-effect of fixing a long-standing bug of events getting lost if: - an event's interrupt handler is running - the event is migrated to a different vcpu - the event is re-triggered The most noticable symptom of these lost events is occasional lockups of blkfront. Many thanks to Tom Kopec and Daniel Stodden in tracking this down. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Tom Kopec <tek@acm.org> Cc: Daniel Stodden <daniel.stodden@citrix.com> Cc: Stable Kernel <stable@kernel.org> |
||
---|---|---|
.. | ||
xenbus | ||
xenfs | ||
Kconfig | ||
Makefile | ||
balloon.c | ||
cpu_hotplug.c | ||
events.c | ||
evtchn.c | ||
features.c | ||
grant-table.c | ||
manage.c | ||
platform-pci.c | ||
swiotlb-xen.c | ||
sys-hypervisor.c | ||
xencomm.c |