On Friday, October 14, 2016 6:51:53 PM, Wei W Wang" <wei.w.wang@xxxxxxxxx> wrote: > When it comes to the "guest virtio<-->guest virtio" notification case, it > should be clear where the interrupt should go to (e.g. which specific device > interrupt it is), rather than just trapping to the host. So, instead of > simply trapping to the host by an MMIO write, hypercall gives us the > flexibility to pass some parameters. What parameters do you need? There is no difference between "which specific device interrupt you are raising" and "which specific virtqueue you are kicking". The latter uses ioeventfd just fine, and VFIO also uses eventfd successfully. > The GSI number is assigned in QEMU. By making use of the traditional irqfd > implementation code in QEMU, a virtq's GSI is stored in the irqfd struct - > "VirtIOIRQFD->virq", we can pass it or them(the multi-queue case) to the > sender. I prefer GSI, because the KVM irq routing table is indexed by GSI. > Would this be acceptable? > Alternatively, we can pass the vector of the virtq. No, the hypercall will not be accepted in any form. The established protocols for communication between KVM and the outside world, including other KVM instances, are MMIO write and irqfd. Paolo -- 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