linux_dsm_epyc7002/drivers/xen
Jeremy Fitzhardinge dffe2e1e1a xen: handle events as edge-triggered
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>
2010-08-24 11:14:12 -07:00
..
xenbus Merge branch 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block 2010-08-10 15:22:42 -07:00
xenfs Merge branch 'xen/xenbus' into upstream/xen 2010-08-04 14:49:24 -07:00
balloon.c
cpu_hotplug.c
events.c xen: handle events as edge-triggered 2010-08-24 11:14:12 -07:00
evtchn.c
features.c
grant-table.c
Kconfig Merge branch 'stable/xen-swiotlb-0.8.6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2010-08-12 09:09:41 -07:00
Makefile Merge branch 'stable/xen-swiotlb-0.8.6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2010-08-12 09:09:41 -07:00
manage.c
platform-pci.c
swiotlb-xen.c
sys-hypervisor.c
xencomm.c