Re: [PATCH v5 1/4] KVM: x86: Split the APIC from the rest of IRQCHIP.

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

 



On Wed, Jul 29, 2015 at 02:56:42PM +0200, Paolo Bonzini wrote:
> 
> > +		kvm_rtc_eoi_tracking_restore_one(vcpu);
> >  }
> >  
> >  void __kvm_migrate_apic_timer(struct kvm_vcpu *vcpu)
> > @@ -1921,7 +1923,8 @@ static void apic_sync_pv_eoi_to_guest(struct kvm_vcpu *vcpu,
> >  	    /* Cache not set: could be safe but we don't bother. */
> >  	    apic->highest_isr_cache == -1 ||
> >  	    /* Need EOI to update ioapic. */
> > -	    kvm_ioapic_handles_vector(vcpu->kvm, apic->highest_isr_cache)) {
> > +	    kvm_ioapic_handles_vector(vcpu->kvm, apic->highest_isr_cache) ||
> > +	    irqchip_split(vcpu->kvm)) {
> 
> This is ugly (and if anything irqchip_split should be done before
> kvm_ioapic_handles_vector).  Could this just test the EOI exit bitmap
> instead?
> 
That could be done. The EOI exit bitmap write paths for split and !split
would need to be consolidated. (We can't pull them from the VMCS, so we'd
need to fetch them from the one stored in kvm_vcpu).

> Also, who sets TMR in the split irqchip case?  I'll post a patch roday
> or tomorrow to compute TMR in __apic_accept_irq and to do the
> aforementioned EOI exit bitmap test.
Another option would be to compute the TMR in vcpu_scan_ioapic, by
extracting it from the EOI exit bitmaps (which would be most similar
to how it had been done previously), but I prefer computing it in
__apic_accept_irq.
--
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