RE: [PATCH v8 2/3] x86, apicv: add virtual interrupt delivery support

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

 



Marcelo Tosatti wrote on 2013-01-08:
> On Mon, Jan 07, 2013 at 07:48:43PM +0200, Gleb Natapov wrote:
>>> ioapic_write (or any other ioapic update)
>>> lock()
>>> perform update
>>> make_all_vcpus_request(KVM_REQ_UPDATE_EOI_BITMAP) (*)
>>> unlock()
>>> 
>>> (*) Similarly to TLB flush.
>>> 
>>> The advantage is that all work becomes vcpu local. The end result
>>> is much simpler code.
>> What complexity will it remove?
> 
> Synchronization between multiple CPUs (except the KVM_REQ_ bit
> processing, which is infrastructure shared by other parts of KVM).
> 
> We agreed that performance is non issue here.
The current logic is this:
ioapic_write
lock()
perform update
make request on each vcpu
kick each vcpu
unlock()

The only difference is the way to make the request. And the complex part is performing update. With your suggestion, we still need to do the update. Why you think it is much simpler?

Best regards,
Yang

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