]> www.infradead.org Git - users/willy/xarray.git/commitdiff
KVM: x86/mmu: clean up prefetch/prefault/speculative naming
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 29 Sep 2021 13:19:32 +0000 (09:19 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 22 Oct 2021 09:19:26 +0000 (05:19 -0400)
"prefetch", "prefault" and "speculative" are used throughout KVM to mean
the same thing.  Use a single name, standardizing on "prefetch" which
is already used by various functions such as direct_pte_prefetch,
FNAME(prefetch_gpte), FNAME(pte_prefetch), etc.

Suggested-by: David Matlack <dmatlack@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu.h
arch/x86/kvm/mmu/mmu.c
arch/x86/kvm/mmu/mmu_internal.h
arch/x86/kvm/mmu/paging_tmpl.h
arch/x86/kvm/mmu/spte.c
arch/x86/kvm/mmu/spte.h
arch/x86/kvm/mmu/tdp_mmu.c

index 2df48d60c949b4532e2cbd7b7775b38e226ca420..c921619f7dc9ebae52392952c70aa4bf27ff7f2f 100644 (file)
@@ -118,7 +118,7 @@ struct kvm_page_fault {
        /* arguments to kvm_mmu_do_page_fault.  */
        const gpa_t addr;
        const u32 error_code;
-       const bool prefault;
+       const bool prefetch;
 
        /* Derived from error_code.  */
        const bool exec;
@@ -176,7 +176,7 @@ static inline bool is_nx_huge_page_enabled(void)
 }
 
 static inline int kvm_mmu_do_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
-                                       u32 err, bool prefault)
+                                       u32 err, bool prefetch)
 {
        struct kvm_page_fault fault = {
                .addr = cr2_or_gpa,
@@ -186,7 +186,7 @@ static inline int kvm_mmu_do_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
                .present = err & PFERR_PRESENT_MASK,
                .rsvd = err & PFERR_RSVD_MASK,
                .user = err & PFERR_USER_MASK,
-               .prefault = prefault,
+               .prefetch = prefetch,
                .is_tdp = likely(vcpu->arch.mmu->page_fault == kvm_tdp_page_fault),
                .nx_huge_page_workaround_enabled = is_nx_huge_page_enabled(),
 
index 701db079458187654e7ce7dc189ed99bfa6bc25b..43ee10181459bc90313b3f792dc254809e2ad0d8 100644 (file)
@@ -2573,7 +2573,7 @@ static void kvm_unsync_page(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp)
  * be write-protected.
  */
 int mmu_try_to_unsync_pages(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
-                           gfn_t gfn, bool can_unsync, bool speculative)
+                           gfn_t gfn, bool can_unsync, bool prefetch)
 {
        struct kvm_mmu_page *sp;
        bool locked = false;
@@ -2599,7 +2599,7 @@ int mmu_try_to_unsync_pages(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
                if (sp->unsync)
                        continue;
 
-               if (speculative)
+               if (prefetch)
                        return -EEXIST;
 
                /*
@@ -2687,7 +2687,7 @@ static int mmu_set_spte(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
 
        /* Prefetching always gets a writable pfn.  */
        bool host_writable = !fault || fault->map_writable;
-       bool speculative = !fault || fault->prefault;
+       bool prefetch = !fault || fault->prefetch;
        bool write_fault = fault && fault->write;
 
        pgprintk("%s: spte %llx write_fault %d gfn %llx\n", __func__,
@@ -2719,7 +2719,7 @@ static int mmu_set_spte(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
                        was_rmapped = 1;
        }
 
-       wrprot = make_spte(vcpu, sp, slot, pte_access, gfn, pfn, *sptep, speculative,
+       wrprot = make_spte(vcpu, sp, slot, pte_access, gfn, pfn, *sptep, prefetch,
                           true, host_writable, &spte);
 
        if (*sptep == spte) {
@@ -3923,7 +3923,7 @@ static bool kvm_faultin_pfn(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault,
        if (!async)
                return false; /* *pfn has correct page already */
 
-       if (!fault->prefault && kvm_can_do_async_pf(vcpu)) {
+       if (!fault->prefetch && kvm_can_do_async_pf(vcpu)) {
                trace_kvm_try_async_get_page(fault->addr, fault->gfn);
                if (kvm_find_async_pf_gfn(vcpu, fault->gfn)) {
                        trace_kvm_async_pf_doublefault(fault->addr, fault->gfn);
index 585146a712d28a76cd66622d1edc3afd21fb67df..52c6527b1a064e56080e37ad8574e59ab0c6470b 100644 (file)
@@ -119,7 +119,7 @@ static inline bool kvm_vcpu_ad_need_write_protect(struct kvm_vcpu *vcpu)
 }
 
 int mmu_try_to_unsync_pages(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot,
-                           gfn_t gfn, bool can_unsync, bool speculative);
+                           gfn_t gfn, bool can_unsync, bool prefetch);
 
 void kvm_mmu_gfn_disallow_lpage(const struct kvm_memory_slot *slot, gfn_t gfn);
 void kvm_mmu_gfn_allow_lpage(const struct kvm_memory_slot *slot, gfn_t gfn);
index d8889e02c4b79f90fb09a077f5acbf0d6a014a2a..f87d36898c44e33db8dafabf0f603ae9e7ac3458 100644 (file)
@@ -853,7 +853,7 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault
         */
        if (!r) {
                pgprintk("%s: guest page fault\n", __func__);
-               if (!fault->prefault)
+               if (!fault->prefetch)
                        kvm_inject_emulated_page_fault(vcpu, &walker.fault);
 
                return RET_PF_RETRY;
index 871f6114b0fa91cbab43723edbfe61e8b8e886b3..0c76c45fdb6867f039c74c9fbc29d661a5af2b00 100644 (file)
@@ -92,7 +92,7 @@ static bool kvm_is_mmio_pfn(kvm_pfn_t pfn)
 bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
               struct kvm_memory_slot *slot,
               unsigned int pte_access, gfn_t gfn, kvm_pfn_t pfn,
-              u64 old_spte, bool speculative, bool can_unsync,
+              u64 old_spte, bool prefetch, bool can_unsync,
               bool host_writable, u64 *new_spte)
 {
        int level = sp->role.level;
@@ -111,7 +111,7 @@ bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
         * read access.  See FNAME(gpte_access) in paging_tmpl.h.
         */
        spte |= shadow_present_mask;
-       if (!speculative)
+       if (!prefetch)
                spte |= spte_shadow_accessed_mask(spte);
 
        if (level > PG_LEVEL_4K && (pte_access & ACC_EXEC_MASK) &&
@@ -161,7 +161,7 @@ bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
                 * e.g. it's write-tracked (upper-level SPs) or has one or more
                 * shadow pages and unsync'ing pages is not allowed.
                 */
-               if (mmu_try_to_unsync_pages(vcpu, slot, gfn, can_unsync, speculative)) {
+               if (mmu_try_to_unsync_pages(vcpu, slot, gfn, can_unsync, prefetch)) {
                        pgprintk("%s: found shadow page for %llx, marking ro\n",
                                 __func__, gfn);
                        wrprot = true;
@@ -174,7 +174,7 @@ bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
                spte |= spte_shadow_dirty_mask(spte);
 
 out:
-       if (speculative)
+       if (prefetch)
                spte = mark_spte_for_access_track(spte);
 
        WARN_ONCE(is_rsvd_spte(&vcpu->arch.mmu->shadow_zero_check, spte, level),
index fcda5abc7dc0f16928f1ff8f55a0c85f1dbd7598..cc432f9a966b221ca5c263f511133ab5837e0419 100644 (file)
@@ -332,7 +332,7 @@ static inline u64 get_mmio_spte_generation(u64 spte)
 bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
               struct kvm_memory_slot *slot,
               unsigned int pte_access, gfn_t gfn, kvm_pfn_t pfn,
-              u64 old_spte, bool speculative, bool can_unsync,
+              u64 old_spte, bool prefetch, bool can_unsync,
               bool host_writable, u64 *new_spte);
 u64 make_nonleaf_spte(u64 *child_pt, bool ad_disabled);
 u64 make_mmio_spte(struct kvm_vcpu *vcpu, u64 gfn, unsigned int access);
index 953f24ded6bc171c9d1adb12d744a2066241ce0a..7c5dd83e52dec9d2cf0d36a2a0b895e69795f5c0 100644 (file)
@@ -907,7 +907,7 @@ static int tdp_mmu_map_handle_target_level(struct kvm_vcpu *vcpu,
                new_spte = make_mmio_spte(vcpu, iter->gfn, ACC_ALL);
        else
                wrprot = make_spte(vcpu, sp, fault->slot, ACC_ALL, iter->gfn,
-                                        fault->pfn, iter->old_spte, fault->prefault, true,
+                                        fault->pfn, iter->old_spte, fault->prefetch, true,
                                         fault->map_writable, &new_spte);
 
        if (new_spte == iter->old_spte)