Hello, It's not clear to me, how is the virtual interrupt injection occurs. For block I/O cases, virtio and full virtualization I know the call graph for both cases MSI, pci legacy. My question is: How QEMU notifies the guest? How the worker thread(iothread or mainloop thread) is going to inject the interrupt to vcpu. vcpu at this time is executing, so it's is in running state. It needs to change context and jump to interrupt handler. How is this change from non-root process context to non-root interrupt context happens? 1) In full-virtualization block io 2) in virtio-blk io For example the issue path in the second case, is clearer, it's a write to a register in pci configuration space (kick). Maybe it's implemented in the following calls(?) msix_notify or pci_set_irq or in the implementation of the ioctls that these two calls invokes in the end. Thanks in advance! -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html