From: Haiwei Li Date: Wed, 21 Apr 2021 03:25:13 +0000 (+0800) Subject: KVM: x86: Take advantage of kvm_arch_dy_has_pending_interrupt() X-Git-Tag: accepted/tizen/unified/20230118.172025~7317^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=10dbdf98acd620f376313b85b587c9b9563fc170;p=platform%2Fkernel%2Flinux-rpi.git KVM: x86: Take advantage of kvm_arch_dy_has_pending_interrupt() `kvm_arch_dy_runnable` checks the pending_interrupt as the code in `kvm_arch_dy_has_pending_interrupt`. So take advantage of it. Signed-off-by: Haiwei Li Message-Id: <20210421032513.1921-1-lihaiwei.kernel@gmail.com> Signed-off-by: Paolo Bonzini --- diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 016a083..cf3b676 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -11120,28 +11120,25 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu) return kvm_vcpu_running(vcpu) || kvm_vcpu_has_events(vcpu); } -bool kvm_arch_dy_runnable(struct kvm_vcpu *vcpu) +bool kvm_arch_dy_has_pending_interrupt(struct kvm_vcpu *vcpu) { - if (READ_ONCE(vcpu->arch.pv.pv_unhalted)) - return true; - - if (kvm_test_request(KVM_REQ_NMI, vcpu) || - kvm_test_request(KVM_REQ_SMI, vcpu) || - kvm_test_request(KVM_REQ_EVENT, vcpu)) - return true; - if (vcpu->arch.apicv_active && static_call(kvm_x86_dy_apicv_has_pending_interrupt)(vcpu)) return true; return false; } -bool kvm_arch_dy_has_pending_interrupt(struct kvm_vcpu *vcpu) +bool kvm_arch_dy_runnable(struct kvm_vcpu *vcpu) { - if (vcpu->arch.apicv_active && static_call(kvm_x86_dy_apicv_has_pending_interrupt)(vcpu)) + if (READ_ONCE(vcpu->arch.pv.pv_unhalted)) return true; - return false; + if (kvm_test_request(KVM_REQ_NMI, vcpu) || + kvm_test_request(KVM_REQ_SMI, vcpu) || + kvm_test_request(KVM_REQ_EVENT, vcpu)) + return true; + + return kvm_arch_dy_has_pending_interrupt(vcpu); } bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu)