Messages in this thread | | | Subject | Re: [PATCH] KVM: SVM: Analyze is_guest_mode() in svm_vcpu_run() | From | Krish Sadhukhan <> | Date | Mon, 14 Sep 2020 13:43:07 -0700 |
| |
On 9/13/20 11:55 PM, Wanpeng Li wrote: > From: Wanpeng Li <wanpengli@tencent.com> > > Analyze is_guest_mode() in svm_vcpu_run() instead of svm_exit_handlers_fastpath() > in conformity with VMX version. > > Suggested-by: Vitaly Kuznetsov <vkuznets@redhat.com> > Signed-off-by: Wanpeng Li <wanpengli@tencent.com> > --- > arch/x86/kvm/svm/svm.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index 3da5b2f..009035a 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -3393,8 +3393,7 @@ static void svm_cancel_injection(struct kvm_vcpu *vcpu) > > static fastpath_t svm_exit_handlers_fastpath(struct kvm_vcpu *vcpu) > { > - if (!is_guest_mode(vcpu) && > - to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR && > + if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR && > to_svm(vcpu)->vmcb->control.exit_info_1) > return handle_fastpath_set_msr_irqoff(vcpu); > > @@ -3580,6 +3579,10 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) > svm_handle_mce(svm); > > svm_complete_interrupts(svm); > + > + if (is_guest_mode(vcpu)) > + return EXIT_FASTPATH_NONE; > + > exit_fastpath = svm_exit_handlers_fastpath(vcpu); > return exit_fastpath;
Not related to your changes, but should we get rid of the variable 'exit_fastpath' and just do,
return svm_exit_handler_fastpath(vcpu);
It seems the variable isn't used anywhere else and svm_vcpu_run() doesn't return from anywhere else either.
Also, svm_exit_handlers_fastpath() doesn't have any other caller. Should we get rid of it as well ?
For your changes,
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
> }
| |