History

KVM: x86/mmu: Prepend "kvm_" to memory cache helpers that will be global

Rename the memory helpers that will soon be moved to common code and be made globaly available via linux/kvm_host.h. "mmu" alone is not a sufficient namespace for globally available KVM symbols. Opportunistically add "nr_" in mmu_memory_cache_free_objects() to make it clear the function returns the number of free objects, as opposed to freeing existing objects.

Sean Christopherson committed 6 years ago

Commit 94ce87e1 parent 378f5cd1 file · +21 −21Browse files

Unified · Split

arch/x86/kvm/mmu/mmu.c+21−21
@@ -1072,7 +1072,7 @@ static inline void *mmu_memory_cache_alloc_obj(struct kvm_mmu_memory_cache *mc, · 1071 unmodified lines
10721072 return (void *)__get_free_page(gfp_flags);
10731073 }
10741074
1075−static int mmu_topup_memory_cache(struct kvm_mmu_memory_cache *mc, int min)
1075+static int kvm_mmu_topup_memory_cache(struct kvm_mmu_memory_cache *mc, int min)
10761076 {
10771077 void *obj;
10781078
@@ -1087,12 +1087,12 @@ static int mmu_topup_memory_cache(struct kvm_mmu_memory_cache *mc, int min) · 8 unmodified lines
10871087 return 0;
10881088 }
10891089
1090−static int mmu_memory_cache_free_objects(struct kvm_mmu_memory_cache *mc)
1090+static int kvm_mmu_memory_cache_nr_free_objects(struct kvm_mmu_memory_cache *mc)
10911091 {
10921092 return mc->nobjs;
10931093 }
10941094
1095−static void mmu_free_memory_cache(struct kvm_mmu_memory_cache *mc)
1095+static void kvm_mmu_free_memory_cache(struct kvm_mmu_memory_cache *mc)
10961096 {
10971097 while (mc->nobjs) {
10981098 if (mc->kmem_cache)
@@ -1107,33 +1107,33 @@ static int mmu_topup_memory_caches(struct kvm_vcpu *vcpu, bool maybe_indirect) · 8 unmodified lines
11071107 int r;
11081108
11091109 /* 1 rmap, 1 parent PTE per level, and the prefetched rmaps. */
1110− r = mmu_topup_memory_cache(&vcpu->arch.mmu_pte_list_desc_cache,
1111− 1 + PT64_ROOT_MAX_LEVEL + PTE_PREFETCH_NUM);
1110+ r = kvm_mmu_topup_memory_cache(&vcpu->arch.mmu_pte_list_desc_cache,
1111+ 1 + PT64_ROOT_MAX_LEVEL + PTE_PREFETCH_NUM);
11121112 if (r)
11131113 return r;
1114− r = mmu_topup_memory_cache(&vcpu->arch.mmu_shadow_page_cache,
1115− PT64_ROOT_MAX_LEVEL);
1114+ r = kvm_mmu_topup_memory_cache(&vcpu->arch.mmu_shadow_page_cache,
1115+ PT64_ROOT_MAX_LEVEL);
11161116 if (r)
11171117 return r;
11181118 if (maybe_indirect) {
1119− r = mmu_topup_memory_cache(&vcpu->arch.mmu_gfn_array_cache,
1120− PT64_ROOT_MAX_LEVEL);
1119+ r = kvm_mmu_topup_memory_cache(&vcpu->arch.mmu_gfn_array_cache,
1120+ PT64_ROOT_MAX_LEVEL);
11211121 if (r)
11221122 return r;
11231123 }
1124− return mmu_topup_memory_cache(&vcpu->arch.mmu_page_header_cache,
1125− PT64_ROOT_MAX_LEVEL);
1124+ return kvm_mmu_topup_memory_cache(&vcpu->arch.mmu_page_header_cache,
1125+ PT64_ROOT_MAX_LEVEL);
11261126 }
11271127
11281128 static void mmu_free_memory_caches(struct kvm_vcpu *vcpu)
11291129 {
1130− mmu_free_memory_cache(&vcpu->arch.mmu_pte_list_desc_cache);
1131− mmu_free_memory_cache(&vcpu->arch.mmu_shadow_page_cache);
1132− mmu_free_memory_cache(&vcpu->arch.mmu_gfn_array_cache);
1133− mmu_free_memory_cache(&vcpu->arch.mmu_page_header_cache);
1130+ kvm_mmu_free_memory_cache(&vcpu->arch.mmu_pte_list_desc_cache);
1131+ kvm_mmu_free_memory_cache(&vcpu->arch.mmu_shadow_page_cache);
1132+ kvm_mmu_free_memory_cache(&vcpu->arch.mmu_gfn_array_cache);
1133+ kvm_mmu_free_memory_cache(&vcpu->arch.mmu_page_header_cache);
11341134 }
11351135
1136−static void *mmu_memory_cache_alloc(struct kvm_mmu_memory_cache *mc)
1136+static void *kvm_mmu_memory_cache_alloc(struct kvm_mmu_memory_cache *mc)
11371137 {
11381138 void *p;
11391139
@@ -1147,7 +1147,7 @@ static void *mmu_memory_cache_alloc(struct kvm_mmu_memory_cache *mc) · 7 unmodified lines
11471147
11481148 static struct pte_list_desc *mmu_alloc_pte_list_desc(struct kvm_vcpu *vcpu)
11491149 {
1150− return mmu_memory_cache_alloc(&vcpu->arch.mmu_pte_list_desc_cache);
1150+ return kvm_mmu_memory_cache_alloc(&vcpu->arch.mmu_pte_list_desc_cache);
11511151 }
11521152
11531153 static void mmu_free_pte_list_desc(struct pte_list_desc *pte_list_desc)
@@ -1418,7 +1418,7 @@ static bool rmap_can_add(struct kvm_vcpu *vcpu) · 264 unmodified lines
14181418 struct kvm_mmu_memory_cache *mc;
14191419
14201420 mc = &vcpu->arch.mmu_pte_list_desc_cache;
1421− return mmu_memory_cache_free_objects(mc);
1421+ return kvm_mmu_memory_cache_nr_free_objects(mc);
14221422 }
14231423
14241424 static int rmap_add(struct kvm_vcpu *vcpu, u64 *spte, gfn_t gfn)
@@ -2090,10 +2090,10 @@ static struct kvm_mmu_page *kvm_mmu_alloc_page(struct kvm_vcpu *vcpu, int direct · 665 unmodified lines
20902090 {
20912091 struct kvm_mmu_page *sp;
20922092
2093− sp = mmu_memory_cache_alloc(&vcpu->arch.mmu_page_header_cache);
2094− sp->spt = mmu_memory_cache_alloc(&vcpu->arch.mmu_shadow_page_cache);
2093+ sp = kvm_mmu_memory_cache_alloc(&vcpu->arch.mmu_page_header_cache);
2094+ sp->spt = kvm_mmu_memory_cache_alloc(&vcpu->arch.mmu_shadow_page_cache);
20952095 if (!direct)
2096− sp->gfns = mmu_memory_cache_alloc(&vcpu->arch.mmu_gfn_array_cache);
2096+ sp->gfns = kvm_mmu_memory_cache_alloc(&vcpu->arch.mmu_gfn_array_cache);
20972097 set_page_private(virt_to_page(sp->spt), (unsigned long)sp);
20982098
20992099 /*