[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[win-pv-devel] Advice on evtchn interrupt handling


I found an issue in my evtchn handling in xeniface that I'm not sure how
to properly fix. Namely, the interrupt callback that's assigned for a
particular channel can be called before its queued DPC (that signals the
caller-provided event) finishes. In such case the interrupt callback
fails to insert the DPC again and an event is lost, potentially causing
a vchan "deadlock" down the way.

Any advice on how to approach this? The interrupt callback runs at
HIGH_LEVEL which is an issue when it comes to synchronization with some
other code that could take care of such "pending" events.

Also I wonder if the kernel differentiates DPCs only by their KDPC
address, or also by arguments passed to KeInsertQueueDpc()?

RafaÅ WojdyÅa
Qubes Tools for Windows developer

win-pv-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.