From: Yan Zhao <yan.y.z...@intel.com>

Remove ->track_remove_slot(), there are no longer any users and it's
unlikely a "flush" hook will ever be the correct API to provide to an
external page-track user.

Cc: Zhenyu Wang <zhen...@linux.intel.com>
Suggested-by: Sean Christopherson <sea...@google.com>
Signed-off-by: Yan Zhao <yan.y.z...@intel.com>
Signed-off-by: Sean Christopherson <sea...@google.com>
---
 arch/x86/include/asm/kvm_page_track.h | 11 -----------
 arch/x86/kvm/mmu/mmu.c                |  2 --
 arch/x86/kvm/mmu/page_track.c         | 26 --------------------------
 3 files changed, 39 deletions(-)

diff --git a/arch/x86/include/asm/kvm_page_track.h 
b/arch/x86/include/asm/kvm_page_track.h
index cfd36c22b467..5c348ffdc194 100644
--- a/arch/x86/include/asm/kvm_page_track.h
+++ b/arch/x86/include/asm/kvm_page_track.h
@@ -33,16 +33,6 @@ struct kvm_page_track_notifier_node {
         */
        void (*track_write)(gpa_t gpa, const u8 *new, int bytes,
                            struct kvm_page_track_notifier_node *node);
-       /*
-        * It is called when memory slot is being moved or removed
-        * users can drop write-protection for the pages in that memory slot
-        *
-        * @kvm: the kvm where memory slot being moved or removed
-        * @slot: the memory slot being moved or removed
-        * @node: this node
-        */
-       void (*track_flush_slot)(struct kvm *kvm, struct kvm_memory_slot *slot,
-                           struct kvm_page_track_notifier_node *node);
 
        /*
         * Invoked when a memory region is removed from the guest.  Or in KVM
@@ -85,7 +75,6 @@ kvm_page_track_unregister_notifier(struct kvm *kvm,
                                   struct kvm_page_track_notifier_node *n);
 void kvm_page_track_write(struct kvm_vcpu *vcpu, gpa_t gpa, const u8 *new,
                          int bytes);
-void kvm_page_track_flush_slot(struct kvm *kvm, struct kvm_memory_slot *slot);
 void kvm_page_track_delete_slot(struct kvm *kvm, struct kvm_memory_slot *slot);
 
 bool kvm_page_track_has_external_user(struct kvm *kvm);
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index af3e562d3106..3f9030650c3d 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -6734,8 +6734,6 @@ void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
                                   struct kvm_memory_slot *slot)
 {
        kvm_mmu_zap_all_fast(kvm);
-
-       kvm_page_track_flush_slot(kvm, slot);
 }
 
 void kvm_mmu_invalidate_mmio_sptes(struct kvm *kvm, u64 gen)
diff --git a/arch/x86/kvm/mmu/page_track.c b/arch/x86/kvm/mmu/page_track.c
index d971c28be99d..2a6ab7c455c0 100644
--- a/arch/x86/kvm/mmu/page_track.c
+++ b/arch/x86/kvm/mmu/page_track.c
@@ -278,32 +278,6 @@ void kvm_page_track_write(struct kvm_vcpu *vcpu, gpa_t 
gpa, const u8 *new,
        kvm_mmu_track_write(vcpu, gpa, new, bytes);
 }
 
-/*
- * Notify the node that memory slot is being removed or moved so that it can
- * drop write-protection for the pages in the memory slot.
- *
- * The node should figure out it has any write-protected pages in this slot
- * by itself.
- */
-void kvm_page_track_flush_slot(struct kvm *kvm, struct kvm_memory_slot *slot)
-{
-       struct kvm_page_track_notifier_head *head;
-       struct kvm_page_track_notifier_node *n;
-       int idx;
-
-       head = &kvm->arch.track_notifier_head;
-
-       if (hlist_empty(&head->track_notifier_list))
-               return;
-
-       idx = srcu_read_lock(&head->track_srcu);
-       hlist_for_each_entry_srcu(n, &head->track_notifier_list, node,
-                                 srcu_read_lock_held(&head->track_srcu))
-               if (n->track_flush_slot)
-                       n->track_flush_slot(kvm, slot, n);
-       srcu_read_unlock(&head->track_srcu, idx);
-}
-
 /*
  * Notify external page track nodes that a memory region is being removed from
  * the VM, e.g. so that users can free any associated metadata.
-- 
2.40.1.606.ga4b1b128d6-goog

Reply via email to