Messages in this thread | | | Subject | Re: AVIC related warning in enable_irq_window | From | Suravee Suthikulpanit <> | Date | Mon, 4 May 2020 15:46:35 +0700 |
| |
Paolo / Maxim,
On 5/2/20 11:42 PM, Paolo Bonzini wrote: > On 02/05/20 15:58, Maxim Levitsky wrote: >> The AVIC is disabled by svm_toggle_avic_for_irq_window, which calls >> kvm_request_apicv_update, which broadcasts the KVM_REQ_APICV_UPDATE vcpu request, >> however it doesn't broadcast it to CPU on which now we are running, which seems OK, >> because the code that handles that broadcast runs on each VCPU entry, thus >> when this CPU will enter guest mode it will notice and disable the AVIC. >> >> However later in svm_enable_vintr, there is test 'WARN_ON(kvm_vcpu_apicv_active(&svm->vcpu));' >> which is still true on current CPU because of the above. > Good point! We can just remove the WARN_ON I think. Can you send a patch?
Instead, as an alternative to remove the WARN_ON(), would it be better to just explicitly calling kvm_vcpu_update_apicv(vcpu) to update the apicv_active flag right after kvm_request_apicv_update()?
Thanks, Suravee
| |