On 02/08/2011 04:47 PM, Gleb Natapov wrote:
On Tue, Feb 08, 2011 at 04:43:33PM +0200, Avi Kivity wrote: > On 02/08/2011 04:22 PM, Marcelo Tosatti wrote: > >I don't think the isr_ack logic is overly complex that it should be > >removed. For some cases it is still beneficial, see example case on > >commit e48258009d941, which is not handled by kick coalescing of > >kvm_vcpu_kick. > > On the other hand, I think it can be done differently. For example > LVT0 is probably programmed to mask interrupts; we can simply look > at it and not kick if that's the case. We can use notifiers from > the lapic to the pic to avoid looking at lapic data. > I believe this is what my patch is doing. Look at pic_unlock(). The code search for vcpu to kick by calling kvm_apic_accept_pic_intr() function (which checks that LVT is masked).
It does indeed.
If no vcpu is found we kicks bsp. Why? I removed that.
The code that looks for a vcpu that has LVT0 unmasked is newer than the isr_ack code (see cfe149e91b82). So it looks like the isr_ack code is indeed unnecessary now.
-- error compiling committee.c: too many arguments to function -- 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