* [PATCH] KVM: VMX: Reduce redundant call and simplify code
@ 2023-03-31 7:19 Wenyao Hai
2023-03-31 15:32 ` Sean Christopherson
2023-04-03 10:05 ` [PATCH V2] KVM: VMX: Reduce unnecessary " Wenyao Hai
0 siblings, 2 replies; 3+ messages in thread
From: Wenyao Hai @ 2023-03-31 7:19 UTC (permalink / raw)
To: seanjc, pbonzini, tglx, mingo, bp, dave.hansen
Cc: x86, hpa, kvm, linux-kernel, Wenyao Hai
Use vcpu->arch.pat = data instead of kvm_set_msr_common() to
simplify code, avoid redundant judgements.
Signed-off-by: Wenyao Hai <haiwenyao@uniontech.com>
---
arch/x86/kvm/vmx/vmx.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index d2d6e1b6c788..abeeea21c8ef 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -2320,12 +2320,10 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
get_vmcs12(vcpu)->vm_exit_controls & VM_EXIT_SAVE_IA32_PAT)
get_vmcs12(vcpu)->guest_ia32_pat = data;
- if (vmcs_config.vmentry_ctrl & VM_ENTRY_LOAD_IA32_PAT) {
+ if (vmcs_config.vmentry_ctrl & VM_ENTRY_LOAD_IA32_PAT)
vmcs_write64(GUEST_IA32_PAT, data);
- vcpu->arch.pat = data;
- break;
- }
- ret = kvm_set_msr_common(vcpu, msr_info);
+
+ vcpu->arch.pat = data;
break;
case MSR_IA32_MCG_EXT_CTL:
if ((!msr_info->host_initiated &&
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] KVM: VMX: Reduce redundant call and simplify code
2023-03-31 7:19 [PATCH] KVM: VMX: Reduce redundant call and simplify code Wenyao Hai
@ 2023-03-31 15:32 ` Sean Christopherson
2023-04-03 10:05 ` [PATCH V2] KVM: VMX: Reduce unnecessary " Wenyao Hai
1 sibling, 0 replies; 3+ messages in thread
From: Sean Christopherson @ 2023-03-31 15:32 UTC (permalink / raw)
To: Wenyao Hai
Cc: pbonzini, tglx, mingo, bp, dave.hansen, x86, hpa, kvm,
linux-kernel
Nit, the call into common code is unnecessary/superfluous, not redundant.
On Fri, Mar 31, 2023, Wenyao Hai wrote:
> Use vcpu->arch.pat = data instead of kvm_set_msr_common() to
> simplify code, avoid redundant judgements.
>
> Signed-off-by: Wenyao Hai <haiwenyao@uniontech.com>
> ---
> arch/x86/kvm/vmx/vmx.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> index d2d6e1b6c788..abeeea21c8ef 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -2320,12 +2320,10 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
> get_vmcs12(vcpu)->vm_exit_controls & VM_EXIT_SAVE_IA32_PAT)
> get_vmcs12(vcpu)->guest_ia32_pat = data;
>
> - if (vmcs_config.vmentry_ctrl & VM_ENTRY_LOAD_IA32_PAT) {
> + if (vmcs_config.vmentry_ctrl & VM_ENTRY_LOAD_IA32_PAT)
> vmcs_write64(GUEST_IA32_PAT, data);
> - vcpu->arch.pat = data;
> - break;
> - }
> - ret = kvm_set_msr_common(vcpu, msr_info);
> +
> + vcpu->arch.pat = data;
After this, I'm pretty sure the PAT path in kvm_set_msr_common() is no longer used.
And good riddance, because it's not an MTRR, and then only reason to lump it in
with MTRRs would be to zap SPTEs when the memtype changes, but KVM doesn't even
do that because update_mtrr() bails early for PAT.
I'll send a small series next week to clean up handling of PAT and the related
code in kvm_set_msr_common(). I'll include this patch and the patch from Ke Guo[*]
as the first two patches in the series.
[*] https://lore.kernel.org/all/20230329081859.2571698-1-guoke@uniontech.com
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH V2] KVM: VMX: Reduce unnecessary call and simplify code
2023-03-31 7:19 [PATCH] KVM: VMX: Reduce redundant call and simplify code Wenyao Hai
2023-03-31 15:32 ` Sean Christopherson
@ 2023-04-03 10:05 ` Wenyao Hai
1 sibling, 0 replies; 3+ messages in thread
From: Wenyao Hai @ 2023-04-03 10:05 UTC (permalink / raw)
To: seanjc, pbonzini, tglx, mingo, bp, dave.hansen
Cc: x86, hpa, kvm, linux-kernel, Wenyao Hai
Use vcpu->arch.pat = data instead of kvm_set_msr_common() to
simplify code, avoid superfluous judgements.
Signed-off-by: Wenyao Hai <haiwenyao@uniontech.com>
---
V1 -> V2: Modified commit message
arch/x86/kvm/vmx/vmx.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index d2d6e1b6c788..abeeea21c8ef 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -2320,12 +2320,10 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
get_vmcs12(vcpu)->vm_exit_controls & VM_EXIT_SAVE_IA32_PAT)
get_vmcs12(vcpu)->guest_ia32_pat = data;
- if (vmcs_config.vmentry_ctrl & VM_ENTRY_LOAD_IA32_PAT) {
+ if (vmcs_config.vmentry_ctrl & VM_ENTRY_LOAD_IA32_PAT)
vmcs_write64(GUEST_IA32_PAT, data);
- vcpu->arch.pat = data;
- break;
- }
- ret = kvm_set_msr_common(vcpu, msr_info);
+
+ vcpu->arch.pat = data;
break;
case MSR_IA32_MCG_EXT_CTL:
if ((!msr_info->host_initiated &&
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-04-03 10:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-31 7:19 [PATCH] KVM: VMX: Reduce redundant call and simplify code Wenyao Hai
2023-03-31 15:32 ` Sean Christopherson
2023-04-03 10:05 ` [PATCH V2] KVM: VMX: Reduce unnecessary " Wenyao Hai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox