HomeFreeBSD

xen/intr: fix fallout from r278854

Description

xen/intr: fix fallout from r278854

r278854 introduced a race in the event channel handling code. We must make
sure that the pending bit is cleared before executing the filter, or else we
might miss other events that would be injected after the filter has ran but
before the pending bit is cleared.

While there also mask event channels while FreeBSD executes the ithread
bound to that event channel. This refrains Xen from injecting more
interrupts while the ithread has not finished it's work.

Sponsored by: Citrix Systems R&D
Reported by: sbruno, robak
Tested by: robak

Details

Provenance
roygerAuthored on
Parents
rS279324: When gpart(8) is trying automatically determine the first available
Branches
Unknown
Tags
Unknown

Event Timeline