]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
LoongArch: KVM: Move kvm_iocsr tracepoint out of generic code
authorSteven Rostedt <rostedt@goodmis.org>
Tue, 23 Sep 2025 15:37:26 +0000 (23:37 +0800)
committerHuacai Chen <chenhuacai@kernel.org>
Tue, 23 Sep 2025 15:37:26 +0000 (23:37 +0800)
The tracepoint kvm_iocsr is only used by the loongarch architecture. As
trace events can take up to 5K of memory, move this tracepoint into the
LoongArch specific tracing file so that it doesn't waste memory for all
other architectures.

Reviewed-by: Bibo Mao <maobibo@loongson.cn>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/kvm/trace.h
include/trace/events/kvm.h

index 145514dab6d5bb38107992412d9a3fdf7bc767b3..3467ee22b7041d8c806693ca2beabf3b7335e7eb 100644 (file)
@@ -161,6 +161,41 @@ TRACE_EVENT(kvm_aux,
                      __entry->pc)
 );
 
+#define KVM_TRACE_IOCSR_READ_UNSATISFIED 0
+#define KVM_TRACE_IOCSR_READ 1
+#define KVM_TRACE_IOCSR_WRITE 2
+
+#define kvm_trace_symbol_iocsr \
+       { KVM_TRACE_IOCSR_READ_UNSATISFIED, "unsatisfied-read" }, \
+       { KVM_TRACE_IOCSR_READ, "read" }, \
+       { KVM_TRACE_IOCSR_WRITE, "write" }
+
+TRACE_EVENT(kvm_iocsr,
+       TP_PROTO(int type, int len, u64 gpa, void *val),
+       TP_ARGS(type, len, gpa, val),
+
+       TP_STRUCT__entry(
+               __field(        u32,    type    )
+               __field(        u32,    len     )
+               __field(        u64,    gpa     )
+               __field(        u64,    val     )
+       ),
+
+       TP_fast_assign(
+               __entry->type           = type;
+               __entry->len            = len;
+               __entry->gpa            = gpa;
+               __entry->val            = 0;
+               if (val)
+                       memcpy(&__entry->val, val,
+                              min_t(u32, sizeof(__entry->val), len));
+       ),
+
+       TP_printk("iocsr %s len %u gpa 0x%llx val 0x%llx",
+                 __print_symbolic(__entry->type, kvm_trace_symbol_iocsr),
+                 __entry->len, __entry->gpa, __entry->val)
+);
+
 TRACE_EVENT(kvm_vpid_change,
            TP_PROTO(struct kvm_vcpu *vcpu, unsigned long vpid),
            TP_ARGS(vcpu, vpid),
index 8b7252b8d751f371cd5acb2b1e819680f0319344..b282e3a8676969ae30b14634cddf059b045b1c11 100644 (file)
@@ -156,41 +156,6 @@ TRACE_EVENT(kvm_mmio,
                  __entry->len, __entry->gpa, __entry->val)
 );
 
-#define KVM_TRACE_IOCSR_READ_UNSATISFIED 0
-#define KVM_TRACE_IOCSR_READ 1
-#define KVM_TRACE_IOCSR_WRITE 2
-
-#define kvm_trace_symbol_iocsr \
-       { KVM_TRACE_IOCSR_READ_UNSATISFIED, "unsatisfied-read" }, \
-       { KVM_TRACE_IOCSR_READ, "read" }, \
-       { KVM_TRACE_IOCSR_WRITE, "write" }
-
-TRACE_EVENT(kvm_iocsr,
-       TP_PROTO(int type, int len, u64 gpa, void *val),
-       TP_ARGS(type, len, gpa, val),
-
-       TP_STRUCT__entry(
-               __field(        u32,    type    )
-               __field(        u32,    len     )
-               __field(        u64,    gpa     )
-               __field(        u64,    val     )
-       ),
-
-       TP_fast_assign(
-               __entry->type           = type;
-               __entry->len            = len;
-               __entry->gpa            = gpa;
-               __entry->val            = 0;
-               if (val)
-                       memcpy(&__entry->val, val,
-                              min_t(u32, sizeof(__entry->val), len));
-       ),
-
-       TP_printk("iocsr %s len %u gpa 0x%llx val 0x%llx",
-                 __print_symbolic(__entry->type, kvm_trace_symbol_iocsr),
-                 __entry->len, __entry->gpa, __entry->val)
-);
-
 #define kvm_fpu_load_symbol    \
        {0, "unload"},          \
        {1, "load"}