[QEMU-KVM] [DISCUSS] io Completion

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

 



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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux