KVM: x86/mmu: Remove "record_dirty_log" in __tdp_mmu_set_spte()
authorVipin Sharma <vipinsh@google.com>
Tue, 21 Mar 2023 22:00:15 +0000 (15:00 -0700)
committerSean Christopherson <seanjc@google.com>
Tue, 4 Apr 2023 19:37:30 +0000 (12:37 -0700)
Remove bool parameter "record_dirty_log" from __tdp_mmu_set_spte() and
refactor the code as this variable is always set to true by its caller.

Signed-off-by: Vipin Sharma <vipinsh@google.com>
Reviewed-by: David Matlack <dmatlack@google.com>
Link: https://lore.kernel.org/r/20230321220021.2119033-8-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/mmu/tdp_mmu.c

index 467931c..3cc81fa 100644 (file)
@@ -708,18 +708,13 @@ static inline int tdp_mmu_zap_spte_atomic(struct kvm *kvm,
  *                   notifier for access tracking. Leaving record_acc_track
  *                   unset in that case prevents page accesses from being
  *                   double counted.
- * @record_dirty_log: Record the page as dirty in the dirty bitmap if
- *                   appropriate for the change being made. Should be set
- *                   unless performing certain dirty logging operations.
- *                   Leaving record_dirty_log unset in that case prevents page
- *                   writes from being double counted.
  *
  * Returns the old SPTE value, which _may_ be different than @old_spte if the
  * SPTE had voldatile bits.
  */
 static u64 __tdp_mmu_set_spte(struct kvm *kvm, int as_id, tdp_ptep_t sptep,
                              u64 old_spte, u64 new_spte, gfn_t gfn, int level,
-                             bool record_acc_track, bool record_dirty_log)
+                             bool record_acc_track)
 {
        lockdep_assert_held_write(&kvm->mmu_lock);
 
@@ -738,35 +733,34 @@ static u64 __tdp_mmu_set_spte(struct kvm *kvm, int as_id, tdp_ptep_t sptep,
 
        if (record_acc_track)
                handle_changed_spte_acc_track(old_spte, new_spte, level);
-       if (record_dirty_log)
-               handle_changed_spte_dirty_log(kvm, as_id, gfn, old_spte,
-                                             new_spte, level);
+
+       handle_changed_spte_dirty_log(kvm, as_id, gfn, old_spte, new_spte,
+                                     level);
        return old_spte;
 }
 
 static inline void _tdp_mmu_set_spte(struct kvm *kvm, struct tdp_iter *iter,
-                                    u64 new_spte, bool record_acc_track,
-                                    bool record_dirty_log)
+                                    u64 new_spte, bool record_acc_track)
 {
        WARN_ON_ONCE(iter->yielded);
 
        iter->old_spte = __tdp_mmu_set_spte(kvm, iter->as_id, iter->sptep,
                                            iter->old_spte, new_spte,
                                            iter->gfn, iter->level,
-                                           record_acc_track, record_dirty_log);
+                                           record_acc_track);
 }
 
 static inline void tdp_mmu_set_spte(struct kvm *kvm, struct tdp_iter *iter,
                                    u64 new_spte)
 {
-       _tdp_mmu_set_spte(kvm, iter, new_spte, true, true);
+       _tdp_mmu_set_spte(kvm, iter, new_spte, true);
 }
 
 static inline void tdp_mmu_set_spte_no_acc_track(struct kvm *kvm,
                                                 struct tdp_iter *iter,
                                                 u64 new_spte)
 {
-       _tdp_mmu_set_spte(kvm, iter, new_spte, false, true);
+       _tdp_mmu_set_spte(kvm, iter, new_spte, false);
 }
 
 #define tdp_root_for_each_pte(_iter, _root, _start, _end) \
@@ -916,7 +910,7 @@ bool kvm_tdp_mmu_zap_sp(struct kvm *kvm, struct kvm_mmu_page *sp)
                return false;
 
        __tdp_mmu_set_spte(kvm, kvm_mmu_page_as_id(sp), sp->ptep, old_spte, 0,
-                          sp->gfn, sp->role.level + 1, true, true);
+                          sp->gfn, sp->role.level + 1, true);
 
        return true;
 }