Re: [PATCH RFC] kvm/hypercall: Add the PVI hypercall support

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

 




On 14/10/2016 16:56, Wang, Wei W wrote:
> 
> On Friday, October 14, 2016 10:13 PM, Paolo Bonzini wrote:
>> On 14/10/2016 16:00, Wang, Wei W wrote:
>>>> Why would you do that instead of just using the local APIC?...
>>> 
>>> The interrupt will be delivered to LAPIC - the hypercall hander 
>>> injects the interrupt via kvm_set_irq(kvm, GSI,..), which finally
>>> uses LAPIC, right?
>> 
>> But why do you need that?  You can just deliver it to the
>> appropriate local APIC interrupt, there's no need to know the GSI.
>> The guest knows how it has configured the GSIs.
>> 
>> You haven't explained the use case.
> 
> Sure. One example here is to send an interrupt from a virtio driver
> (e.g. the vhost-pci-net that we are working on) on a guest to a
> virtio-net device on another guest. In terms of injecting an
> interrupt to the virtio-net device, should we give the sender the
> related GSI assigned to the virtio-net device (i.e. the GSI of an RX
> queue, to notify the virtio-net driver to receive packets from that
> RX queue)?

In terms of vhost-pci, a write to an MMIO register on the vhost side
(the guest->host doorbell) would trigger an irq on the virtio side (the
host->guest doorbell).

There is no need to know GSIs, they are entirely hidden in QEMU.

Paolo

> Can you please explain more about "just delivering it to the
> appropriate local APIC"?  What would be source of the interrupt that
> we are injecting to? Thanks.
> 
> Best, Wei
> 
--
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