Re: [PATCH v4 2/2] KVM: VMX: Add Posted Interrupt supporting

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

 



On Tue, Feb 26, 2013 at 10:12 AM, Gleb Natapov <gleb@xxxxxxxxxx> wrote:
>>
> But do not see how to implement efficiently without interface change. The
> idea is basically to register ACK notifier for RTC interrupt but terminate
> it in the kernel instead of reporting to userspace. Kernel should know
> somehow what GSI should it register ACK notifier for.

Right, my idea does not help at all.

> There are couple
> of solutions:
>  1. New interface to tell what GSI to track.
>      - Cons: KVM_IRQ_LINE_STATUS will stop working for old QEMUs that do
>              not use it. New special purpose API.
>  2. Register ACK notifier only for RTC.
>      - Cons: KVM_IRQ_LINE_STATUS will work only for RTC. This is the only
>              thing that use it currently, but such change will make it one
>              trick pony officially.
>  3. Register ACK notifiers for all edge interrupts in IOAPIC.
>      - Cons: with APICv edge interrupt does not require EOI to do vmexit.
>              Registering ACK notifiers for all of them will make them all
>              do vmexit.
>  4. Combinations of 1 and 3. Register ACK notifiers for all edge interrupts
>     in IOAPIC and provide API to drop unneeded notifiers.
>      - Cons: New special purpose API.
>

5. Make KVM_IRQ_LINE_STATUS register an ack notifier, document it as
more expensive than KVM_IRQ_LINE, and change qemu to use KVM_IRQ_LINE
when it is sufficient.

Pros: fully backwards compatible
Cons: to realize full performance, need to patch qemu
--
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