On Sat, 25 Apr 2020 at 03:01, Stefano Stabellini <[email protected]> wrote: > [ 86.900974] ------------[ cut here ]------------ > [ 86.905134] Interrupt for port 6, but apparently not enabled; per-user > (____ptrval____) > [ 86.913228] WARNING: CPU: 0 PID: 2437 at drivers/xen/evtchn.c:167 > evtchn_interrupt+0xfc/0x108
The implementation of the evtchn_interrupt() is relying to be called in the top-half. On RT, interrupts handlers are forced to be threaded and use the IRQF_ONESHOT semantics if they were not threaded before. However, IRQF_ONESHOT is completely broken for event channels (this is not RT's fault) and hence why you see the warning here. Note that you can't force to run evtchn_interrupt() in the top-half because it relies on functions that may sleep. See https://lkml.org/lkml/2019/2/19/642. Cheers, -- Julien Grall
