Commit e7300870 authored by Vipin Sharma's avatar Vipin Sharma Committed by Sean Christopherson

KVM: x86/mmu: Remove "record_dirty_log" in __tdp_mmu_set_spte()

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: default avatarVipin Sharma <vipinsh@google.com>
Reviewed-by: default avatarDavid Matlack <dmatlack@google.com>
Link: https://lore.kernel.org/r/20230321220021.2119033-8-seanjc@google.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
parent 1e0f4298
...@@ -708,18 +708,13 @@ static inline int tdp_mmu_zap_spte_atomic(struct kvm *kvm, ...@@ -708,18 +708,13 @@ static inline int tdp_mmu_zap_spte_atomic(struct kvm *kvm,
* notifier for access tracking. Leaving record_acc_track * notifier for access tracking. Leaving record_acc_track
* unset in that case prevents page accesses from being * unset in that case prevents page accesses from being
* double counted. * 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 * Returns the old SPTE value, which _may_ be different than @old_spte if the
* SPTE had voldatile bits. * SPTE had voldatile bits.
*/ */
static u64 __tdp_mmu_set_spte(struct kvm *kvm, int as_id, tdp_ptep_t sptep, 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, 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); 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, ...@@ -738,35 +733,34 @@ static u64 __tdp_mmu_set_spte(struct kvm *kvm, int as_id, tdp_ptep_t sptep,
if (record_acc_track) if (record_acc_track)
handle_changed_spte_acc_track(old_spte, new_spte, level); 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, handle_changed_spte_dirty_log(kvm, as_id, gfn, old_spte, new_spte,
new_spte, level); level);
return old_spte; return old_spte;
} }
static inline void _tdp_mmu_set_spte(struct kvm *kvm, struct tdp_iter *iter, static inline void _tdp_mmu_set_spte(struct kvm *kvm, struct tdp_iter *iter,
u64 new_spte, bool record_acc_track, u64 new_spte, bool record_acc_track)
bool record_dirty_log)
{ {
WARN_ON_ONCE(iter->yielded); WARN_ON_ONCE(iter->yielded);
iter->old_spte = __tdp_mmu_set_spte(kvm, iter->as_id, iter->sptep, iter->old_spte = __tdp_mmu_set_spte(kvm, iter->as_id, iter->sptep,
iter->old_spte, new_spte, iter->old_spte, new_spte,
iter->gfn, iter->level, 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, static inline void tdp_mmu_set_spte(struct kvm *kvm, struct tdp_iter *iter,
u64 new_spte) 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, static inline void tdp_mmu_set_spte_no_acc_track(struct kvm *kvm,
struct tdp_iter *iter, struct tdp_iter *iter,
u64 new_spte) 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) \ #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) ...@@ -916,7 +910,7 @@ bool kvm_tdp_mmu_zap_sp(struct kvm *kvm, struct kvm_mmu_page *sp)
return false; return false;
__tdp_mmu_set_spte(kvm, kvm_mmu_page_as_id(sp), sp->ptep, old_spte, 0, __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; return true;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment