On Mon, Aug 13, 2012 at 12:46:09PM +0300, Michael S. Tsirkin wrote: > On Mon, Aug 13, 2012 at 12:36:27PM +0300, Gleb Natapov wrote: > > On Mon, Aug 13, 2012 at 12:34:32PM +0300, Michael S. Tsirkin wrote: > > > On Mon, Aug 13, 2012 at 12:16:46PM +0300, Gleb Natapov wrote: > > > > Here is a quick prototype of what we discussed yesterday. This one > > > > caches only MSI interrupts for now. The obvious problem is that not > > > > all interrupts (namely IPIs and MSIs using KVM_CAP_SIGNAL_MSI) use irq > > > > routing table, so they cannot be cached. > > > > > > I thought this means ID changes need to replace the routing table, no? > > > > > Correct. This is missing from the patches, but as I said this is just > > prototype to see if it is feasible. > > What this prototype shows is that we > > have problems with IPIs and MSIs from userspace. > > > I think it's a worthwhile optimization all the same. When you feel it's > ready, I'm willing to test to see if it helps vhost. > > You can test it now. It passes my very simple testing. Guests usually do not change apic ids after HW initialization. Maximum it will fail and you'll tell me how bad it failed :) > > > > > > > > Gleb Natapov (2): > > > > Call irq_rt callback under rcu_read_lock() > > > > Cache msi irq destination. > > > > > > > > arch/x86/kvm/lapic.c | 2 +- > > > > include/linux/kvm_host.h | 1 + > > > > virt/kvm/ioapic.c | 2 +- > > > > virt/kvm/ioapic.h | 3 ++- > > > > virt/kvm/irq_comm.c | 37 ++++++++++++++++++++----------------- > > > > 5 files changed, 25 insertions(+), 20 deletions(-) > > > > > > > > -- > > > > 1.7.10.4 > > > > -- > > Gleb. -- Gleb. -- 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