From: Sean Christopherson Date: Wed, 11 Jun 2025 22:45:48 +0000 (-0700) Subject: KVM: SVM: Don't check for assigned device(s) when activating AVIC X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe0213923dd991cbe6a1e84b9bf600aaf172b530;p=thirdparty%2Fkernel%2Fstable.git KVM: SVM: Don't check for assigned device(s) when activating AVIC Don't short-circuit IRTE updating when (de)activating AVIC based on the VM having assigned devices, as nothing prevents AVIC (de)activation from racing with device (de)assignment. And from a performance perspective, bailing early when there is no assigned device doesn't add much, as ir_list_lock will never be contended if there's no assigned device. Link: https://lore.kernel.org/r/20250611224604.313496-47-seanjc@google.com Signed-off-by: Sean Christopherson --- diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c index e1fa5c73bc98..f3bfd7cb0bca 100644 --- a/arch/x86/kvm/svm/avic.c +++ b/arch/x86/kvm/svm/avic.c @@ -733,9 +733,6 @@ static int avic_set_pi_irte_mode(struct kvm_vcpu *vcpu, bool activate) struct vcpu_svm *svm = to_svm(vcpu); struct kvm_kernel_irqfd *irqfd; - if (!kvm_arch_has_assigned_device(vcpu->kvm)) - return 0; - /* * Here, we go through the per-vcpu ir_list to update all existing * interrupt remapping table entry targeting this vcpu.