KVM: MMU: audit: inline audit function
authorXiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Wed, 30 Nov 2011 09:43:24 +0000 (17:43 +0800)
committerAvi Kivity <avi@redhat.com>
Tue, 27 Dec 2011 09:22:12 +0000 (11:22 +0200)
inline audit function and little cleanup

Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/mmu.c
arch/x86/kvm/mmu_audit.c

index b1178d1bb8f5ae533d05cb8f7df1c1a621926516..7a8e99c6dc810338cf8b4a379a23693a7e84598f 100644 (file)
@@ -59,21 +59,6 @@ enum {
        AUDIT_POST_SYNC
 };
 
-char *audit_point_name[] = {
-       "pre page fault",
-       "post page fault",
-       "pre pte write",
-       "post pte write",
-       "pre sync",
-       "post sync"
-};
-
-#ifdef CONFIG_KVM_MMU_AUDIT
-static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point);
-#else
-static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { }
-#endif
-
 #undef MMU_DEBUG
 
 #ifdef MMU_DEBUG
@@ -1539,6 +1524,13 @@ static int kvm_sync_page_transient(struct kvm_vcpu *vcpu,
        return ret;
 }
 
+#ifdef CONFIG_KVM_MMU_AUDIT
+#include "mmu_audit.c"
+#else
+static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { }
+static void mmu_audit_disable(void) { }
+#endif
+
 static int kvm_sync_page(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
                         struct list_head *invalid_list)
 {
@@ -4035,12 +4027,6 @@ void kvm_mmu_destroy(struct kvm_vcpu *vcpu)
        mmu_free_memory_caches(vcpu);
 }
 
-#ifdef CONFIG_KVM_MMU_AUDIT
-#include "mmu_audit.c"
-#else
-static void mmu_audit_disable(void) { }
-#endif
-
 void kvm_mmu_module_exit(void)
 {
        mmu_destroy_caches();
index 5df6736a5afbf756dec277bef9bcedc231e57817..fe15dcc07a6b9f9497bffc4ea2d6c4d19019c6fd 100644 (file)
 
 #include <linux/ratelimit.h>
 
+char const *audit_point_name[] = {
+       "pre page fault",
+       "post page fault",
+       "pre pte write",
+       "post pte write",
+       "pre sync",
+       "post sync"
+};
+
 #define audit_printk(kvm, fmt, args...)                \
        printk(KERN_ERR "audit: (%s) error: "   \
                fmt, audit_point_name[kvm->arch.audit_point], ##args)
@@ -227,18 +236,22 @@ static void audit_vcpu_spte(struct kvm_vcpu *vcpu)
 static bool mmu_audit;
 static struct jump_label_key mmu_audit_key;
 
-static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point)
+static void __kvm_mmu_audit(struct kvm_vcpu *vcpu, int point)
 {
        static DEFINE_RATELIMIT_STATE(ratelimit_state, 5 * HZ, 10);
 
-       if (static_branch((&mmu_audit_key))) {
-               if (!__ratelimit(&ratelimit_state))
-                       return;
+       if (!__ratelimit(&ratelimit_state))
+               return;
 
-               vcpu->kvm->arch.audit_point = point;
-               audit_all_active_sps(vcpu->kvm);
-               audit_vcpu_spte(vcpu);
-       }
+       vcpu->kvm->arch.audit_point = point;
+       audit_all_active_sps(vcpu->kvm);
+       audit_vcpu_spte(vcpu);
+}
+
+static inline void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point)
+{
+       if (static_branch((&mmu_audit_key)))
+               __kvm_mmu_audit(vcpu, point);
 }
 
 static void mmu_audit_enable(void)