This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Is it possible the direct device's interrupt assignment to the guest OS instead of being routed by the hypervisor to the guest OS?

Hi everyone,

I'm currently working with devices virtualization and I have noticed on my experiments that one of the most sources of overhead comes from the device's interrupts, even if the guest OS has a pass-through access. This is due to the fact of the interrupt's injection by the hypervisor to the guest everytime it's triggered. In fact, routing a physical device IRQ to the virtual device IRQ of guestOS is costly in several approaches because it requires a hyp_entry and hyp_exit.

For I/O intensive workloads  only direct access is not enough to approach the native performance due to the interrupt handling path from the host (hypervisor) to the guest (operating system), limiting it to 2/3 of native performance. Some attempts have been published to overcome this problem by software, however, I've seen in the spec of the new version of GIC (i.e. GICv4) a new feature called by "Direct injection of virtual interrupts".

My question is the following, with this new feature is it possible for the GIC anyhow inject the device's interrupt directly in the vcpu of the guest OS without any hypervisor interference?

Cheers