]> www.infradead.org Git - linux.git/commitdiff
KVM: VMX: Move PLE grow/shrink helpers above vmx_vcpu_load()
authorSean Christopherson <seanjc@google.com>
Wed, 22 May 2024 01:40:09 +0000 (18:40 -0700)
committerSean Christopherson <seanjc@google.com>
Tue, 11 Jun 2024 21:18:43 +0000 (14:18 -0700)
Move VMX's {grow,shrink}_ple_window() above vmx_vcpu_load() in preparation
of moving the sched_in logic, which handles shrinking the PLE window, into
vmx_vcpu_load().

No functional change intended.

Acked-by: Kai Huang <kai.huang@intel.com>
Link: https://lore.kernel.org/r/20240522014013.1672962-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/vmx/vmx.c

index 6051fad5945fa08f9a348fc380799ead2d415991..0f535a952ab13cafe7dc5c81fd9248f8ca4598bd 100644 (file)
@@ -1411,6 +1411,38 @@ static void vmx_write_guest_kernel_gs_base(struct vcpu_vmx *vmx, u64 data)
 }
 #endif
 
+static void grow_ple_window(struct kvm_vcpu *vcpu)
+{
+       struct vcpu_vmx *vmx = to_vmx(vcpu);
+       unsigned int old = vmx->ple_window;
+
+       vmx->ple_window = __grow_ple_window(old, ple_window,
+                                           ple_window_grow,
+                                           ple_window_max);
+
+       if (vmx->ple_window != old) {
+               vmx->ple_window_dirty = true;
+               trace_kvm_ple_window_update(vcpu->vcpu_id,
+                                           vmx->ple_window, old);
+       }
+}
+
+static void shrink_ple_window(struct kvm_vcpu *vcpu)
+{
+       struct vcpu_vmx *vmx = to_vmx(vcpu);
+       unsigned int old = vmx->ple_window;
+
+       vmx->ple_window = __shrink_ple_window(old, ple_window,
+                                             ple_window_shrink,
+                                             ple_window);
+
+       if (vmx->ple_window != old) {
+               vmx->ple_window_dirty = true;
+               trace_kvm_ple_window_update(vcpu->vcpu_id,
+                                           vmx->ple_window, old);
+       }
+}
+
 void vmx_vcpu_load_vmcs(struct kvm_vcpu *vcpu, int cpu,
                        struct loaded_vmcs *buddy)
 {
@@ -5890,38 +5922,6 @@ int vmx_vcpu_pre_run(struct kvm_vcpu *vcpu)
        return 1;
 }
 
-static void grow_ple_window(struct kvm_vcpu *vcpu)
-{
-       struct vcpu_vmx *vmx = to_vmx(vcpu);
-       unsigned int old = vmx->ple_window;
-
-       vmx->ple_window = __grow_ple_window(old, ple_window,
-                                           ple_window_grow,
-                                           ple_window_max);
-
-       if (vmx->ple_window != old) {
-               vmx->ple_window_dirty = true;
-               trace_kvm_ple_window_update(vcpu->vcpu_id,
-                                           vmx->ple_window, old);
-       }
-}
-
-static void shrink_ple_window(struct kvm_vcpu *vcpu)
-{
-       struct vcpu_vmx *vmx = to_vmx(vcpu);
-       unsigned int old = vmx->ple_window;
-
-       vmx->ple_window = __shrink_ple_window(old, ple_window,
-                                             ple_window_shrink,
-                                             ple_window);
-
-       if (vmx->ple_window != old) {
-               vmx->ple_window_dirty = true;
-               trace_kvm_ple_window_update(vcpu->vcpu_id,
-                                           vmx->ple_window, old);
-       }
-}
-
 /*
  * Indicate a busy-waiting vcpu in spinlock. We do not enable the PAUSE
  * exiting, so only get here on cpu with PAUSE-Loop-Exiting.