Always set l1tf_flush_l1d during kvm_arch_vcpu_load() instead of setting
it only when the vCPU is being scheduled back in.  The flag is processed
only when VM-Enter is imminent, and KVM obviously needs to load the vCPU
before VM-Enter, so attempting to precisely set l1tf_flush_l1d provides no
meaningful value.  I.e. the flag _will_ be set either way, it's simply a
matter of when.

Signed-off-by: Sean Christopherson <sea...@google.com>
---
 arch/x86/kvm/x86.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 59aa772af755..60fea297f91f 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5006,12 +5006,11 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
 {
        struct kvm_pmu *pmu = vcpu_to_pmu(vcpu);
 
-       if (vcpu->scheduled_out) {
-               vcpu->arch.l1tf_flush_l1d = true;
-               if (pmu->version && unlikely(pmu->event_count)) {
-                       pmu->need_cleanup = true;
-                       kvm_make_request(KVM_REQ_PMU, vcpu);
-               }
+       vcpu->arch.l1tf_flush_l1d = true;
+
+       if (vcpu->scheduled_out && pmu->version && pmu->event_count) {
+               pmu->need_cleanup = true;
+               kvm_make_request(KVM_REQ_PMU, vcpu);
        }
 
        /* Address WBINVD may be executed by guest */
-- 
2.45.0.215.g3402c0e53f-goog

Reply via email to