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. 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 -- 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