On 22/06/20 00:26, Igor Mammedov wrote: > > following sequence looks like a race that can cause lost map update events: > > cpu1 cpu2 > > apic_map_dirty = true > ------------------------------------------------------------ > kvm_recalculate_apic_map: > pass check > mutex_lock(&kvm->arch.apic_map_lock); > if (!kvm->arch.apic_map_dirty) > and in process of updating map > ------------------------------------------------------------- > other calls to > apic_map_dirty = true might be too late for affected cpu > ------------------------------------------------------------- > apic_map_dirty = false > ------------------------------------------------------------- > kvm_recalculate_apic_map: > bail out on > if (!kvm->arch.apic_map_dirty) I will post a fix for that. Thanks for the analysis! Paolo