On Wed, Jul 29, 2015 at 12:05:37AM +0200, Paolo Bonzini wrote: > Ok, I understand it now. However, you're still not causing an exit > when LVT0 changes, are you? post_kvm_run_save is not run until the > next exit to userspace, which could be a long time later. Yes! This is definitely right. This may wait as long as an entire entry/exit before actually exiting to userspace. Moving into dm_request_for_irq_injection is definitely the way to go. > > So, I think that you do not need KVM_REQ_PIC_UNMASK_EXIT. Instead, > you can modify dm_request_for_irq_injection to handle the split-irqchip > case, like this: > > if (!vcpu->run->request_interrupt_window || pic_in_kernel(vcpu->kvm)) > return false; > > if (kvm_cpu_has_interrupt(vcpu)) > return false; > > return (irqchip_split(vcpu->kvm) > ? kvm_apic_accept_pic_intr(vcpu) > : kvm_arch_interrupt_allowed(vcpu)); > > This will cause KVM_RUN to return -EINTR, which QEMU happens to handle > the same way as KVM_EXIT_IRQ_WINDOW_OPEN. I definitely prefer the explit exit reason. It's also a bit easier to make work with our VMM ;) > Feel free to post v6 of this patch only. Everything else is mostly > okay; there are some leftovers here and there (lapic_in_kernel, > GET_VECTOR_FROM_USERSPACE) but I can fix that. I'll give it another once over to remove the dead code. Sorry about leaving that junk in. > How is the integration with QEMU going? With this latest iteration > it should be relatively easy. A new team member is sinking his teeth into it, as an starter project. He'll likely have a prototype of it working soon. Steve > > 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