]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/resctrl: Split trace.h
authorJames Morse <james.morse@arm.com>
Thu, 15 May 2025 16:58:43 +0000 (16:58 +0000)
committerBorislav Petkov (AMD) <bp@alien8.de>
Fri, 16 May 2025 08:47:49 +0000 (10:47 +0200)
trace.h contains all the tracepoints. After the move to /fs/resctrl, some
of these will be left behind. All the pseudo_lock tracepoints remain part
of the architecture. The lone tracepoint in monitor.c moves to /fs/resctrl.

Split trace.h so that each C file includes a different trace header file.
This means the trace header files are not modified when they are moved.

Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Fenghua Yu <fenghuay@nvidia.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Tested-by: Fenghua Yu <fenghuay@nvidia.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Tested-by: Peter Newman <peternewman@google.com>
Tested-by: Amit Singh Tomar <amitsinght@marvell.com> # arm64
Tested-by: Shanker Donthineni <sdonthineni@nvidia.com> # arm64
Tested-by: Babu Moger <babu.moger@amd.com>
Tested-by: Tony Luck <tony.luck@intel.com>
Link: https://lore.kernel.org/20250515165855.31452-14-james.morse@arm.com
arch/x86/kernel/cpu/resctrl/Makefile
arch/x86/kernel/cpu/resctrl/monitor.c
arch/x86/kernel/cpu/resctrl/monitor_trace.h [new file with mode: 0644]
arch/x86/kernel/cpu/resctrl/pseudo_lock.c
arch/x86/kernel/cpu/resctrl/pseudo_lock_trace.h [moved from arch/x86/kernel/cpu/resctrl/trace.h with 56% similarity]

index 0c13b0befd8a9b76fe4753b8ee230113e5f3bf54..909be78ec6dac461868ba06361634d9c9341cd2c 100644 (file)
@@ -2,4 +2,7 @@
 obj-$(CONFIG_X86_CPU_RESCTRL)          += core.o rdtgroup.o monitor.o
 obj-$(CONFIG_X86_CPU_RESCTRL)          += ctrlmondata.o
 obj-$(CONFIG_RESCTRL_FS_PSEUDO_LOCK)   += pseudo_lock.o
+
+# To allow define_trace.h's recursive include:
 CFLAGS_pseudo_lock.o = -I$(src)
+CFLAGS_monitor.o = -I$(src)
index 4962ae4bc596476ba468857ff2493520c6317100..ac1cec61829c2bfc18d5041406219d33d5944df3 100644 (file)
@@ -26,7 +26,9 @@
 #include <asm/resctrl.h>
 
 #include "internal.h"
-#include "trace.h"
+
+#define CREATE_TRACE_POINTS
+#include "monitor_trace.h"
 
 /**
  * struct rmid_entry - dirty tracking for all RMID.
diff --git a/arch/x86/kernel/cpu/resctrl/monitor_trace.h b/arch/x86/kernel/cpu/resctrl/monitor_trace.h
new file mode 100644 (file)
index 0000000..ade67da
--- /dev/null
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM resctrl
+
+#if !defined(_FS_RESCTRL_MONITOR_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _FS_RESCTRL_MONITOR_TRACE_H
+
+#include <linux/tracepoint.h>
+
+TRACE_EVENT(mon_llc_occupancy_limbo,
+           TP_PROTO(u32 ctrl_hw_id, u32 mon_hw_id, int domain_id, u64 llc_occupancy_bytes),
+           TP_ARGS(ctrl_hw_id, mon_hw_id, domain_id, llc_occupancy_bytes),
+           TP_STRUCT__entry(__field(u32, ctrl_hw_id)
+                            __field(u32, mon_hw_id)
+                            __field(int, domain_id)
+                            __field(u64, llc_occupancy_bytes)),
+           TP_fast_assign(__entry->ctrl_hw_id = ctrl_hw_id;
+                          __entry->mon_hw_id = mon_hw_id;
+                          __entry->domain_id = domain_id;
+                          __entry->llc_occupancy_bytes = llc_occupancy_bytes;),
+           TP_printk("ctrl_hw_id=%u mon_hw_id=%u domain_id=%d llc_occupancy_bytes=%llu",
+                     __entry->ctrl_hw_id, __entry->mon_hw_id, __entry->domain_id,
+                     __entry->llc_occupancy_bytes)
+          );
+
+#endif /* _FS_RESCTRL_MONITOR_TRACE_H */
+
+#undef TRACE_INCLUDE_PATH
+#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_FILE monitor_trace
+#include <trace/define_trace.h>
index 92ea1472bde9bc355b29d3a5568eca0d802214d8..f7bb586a83f9e8c960f0dfa9baf03ce3f25213f2 100644 (file)
@@ -30,7 +30,7 @@
 #include "internal.h"
 
 #define CREATE_TRACE_POINTS
-#include "trace.h"
+#include "pseudo_lock_trace.h"
 
 /*
  * The bits needed to disable hardware prefetching varies based on the
similarity index 56%
rename from arch/x86/kernel/cpu/resctrl/trace.h
rename to arch/x86/kernel/cpu/resctrl/pseudo_lock_trace.h
index 2a506316b303425c5588bcf85c777b92e5e13797..5a0fae61d3eebf217377e85efa62697c6524cd56 100644 (file)
@@ -2,8 +2,8 @@
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM resctrl
 
-#if !defined(_TRACE_RESCTRL_H) || defined(TRACE_HEADER_MULTI_READ)
-#define _TRACE_RESCTRL_H
+#if !defined(_X86_RESCTRL_PSEUDO_LOCK_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _X86_RESCTRL_PSEUDO_LOCK_TRACE_H
 
 #include <linux/tracepoint.h>
 
@@ -35,25 +35,9 @@ TRACE_EVENT(pseudo_lock_l3,
            TP_printk("hits=%llu miss=%llu",
                      __entry->l3_hits, __entry->l3_miss));
 
-TRACE_EVENT(mon_llc_occupancy_limbo,
-           TP_PROTO(u32 ctrl_hw_id, u32 mon_hw_id, int domain_id, u64 llc_occupancy_bytes),
-           TP_ARGS(ctrl_hw_id, mon_hw_id, domain_id, llc_occupancy_bytes),
-           TP_STRUCT__entry(__field(u32, ctrl_hw_id)
-                            __field(u32, mon_hw_id)
-                            __field(int, domain_id)
-                            __field(u64, llc_occupancy_bytes)),
-           TP_fast_assign(__entry->ctrl_hw_id = ctrl_hw_id;
-                          __entry->mon_hw_id = mon_hw_id;
-                          __entry->domain_id = domain_id;
-                          __entry->llc_occupancy_bytes = llc_occupancy_bytes;),
-           TP_printk("ctrl_hw_id=%u mon_hw_id=%u domain_id=%d llc_occupancy_bytes=%llu",
-                     __entry->ctrl_hw_id, __entry->mon_hw_id, __entry->domain_id,
-                     __entry->llc_occupancy_bytes)
-          );
-
-#endif /* _TRACE_RESCTRL_H */
+#endif /* _X86_RESCTRL_PSEUDO_LOCK_TRACE_H */
 
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
-#define TRACE_INCLUDE_FILE trace
+#define TRACE_INCLUDE_FILE pseudo_lock_trace
 #include <trace/define_trace.h>