Hi Jan,
On 23/11/2020 13:28, Jan Beulich wrote:
The per-vCPU virq_lock, which is being held anyway, together with there
not being any call to evtchn_port_set_pending() when v->virq_to_evtchn[]
is zero, provide sufficient guarantees.
I agree that the per-vCPU virq_lock is going to be sufficient, however
dropping the lock also means the event channel locking is more complex
to understand (the long comment that was added proves it).
In fact, the locking in the event channel code was already proven to be
quite fragile, therefore I think this patch is not worth the risk.
Cheers,
--
Julien Grall