On Mon, Jan 21, 2013 at 07:03:00AM +0200, Gleb Natapov wrote: > > >> @@ -115,6 +116,42 @@ static void update_handled_vectors(struct kvm_ioapic > > > *ioapic) > > >> smp_wmb(); > > >> } > > >> +void set_eoi_exitmap(struct kvm_vcpu *vcpu) > > >> +{ > > > This function is exported from the file and need to have more unique > > > name. kvm_ioapic_calculate_eoi_exitmap() for instance. > > Ok. > > > > >> @@ -156,6 +193,7 @@ static void ioapic_write_indirect(struct kvm_ioapic > > > *ioapic, u32 val) > > >> if (e->fields.trig_mode == IOAPIC_LEVEL_TRIG > > >> && ioapic->irr & (1 << index)) > > >> ioapic_service(ioapic, index); > > >> + ioapic_update_eoi_exitmap(ioapic->kvm); > > > ioapic_write_indirect() is called under ioapic->lock, > > > ioapic_update_eoi_exitmap() takes the same lock. Have you tested the > > > code? > > ioapic_update_eoi_exitmap doesn't take any lock. > > > Sorry. You are correct. Confused between different functions. It needs a more descriptive name, then. -- 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