From 0102c8c7fdfc4bd700971daff2b94470f4eafae4 Mon Sep 17 00:00:00 2001 From: Dapeng Mi Date: Thu, 17 Sep 2026 09:52:33 +0800 Subject: perf/x86/intel: Rename DMR offcore_rsp attribute to offmodule_rsp DMR introduces Offmodule Response events in place of the legacy Offcore Response events, but it still exposes the inherited offcore_rsp PMU attribute for programming the corresponding MSR data. Rename the DMR PMU attribute to offmodule_rsp so the sysfs interface matches the underlying event name and avoids user & tooling confusion. Signed-off-by: Dapeng Mi Signed-off-by: Peter Zijlstra (Intel) Signed-off-by: Ingo Molnar Link: https://patch.msgid.link/20260917015234.981153-12-dapeng1.mi@linux.intel.com --- include/trace/syscall.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 include/trace/syscall.h (limited to 'include/trace/syscall.h') diff --git a/include/trace/syscall.h b/include/trace/syscall.h new file mode 100644 index 000000000..0dd7f2b33 --- /dev/null +++ b/include/trace/syscall.h @@ -0,0 +1,57 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _TRACE_SYSCALL_H +#define _TRACE_SYSCALL_H + +#include +#include +#include +#include + +#include + + +/* + * A syscall entry in the ftrace syscalls array. + * + * @name: name of the syscall + * @syscall_nr: number of the syscall + * @nb_args: number of parameters it takes + * @user_arg_is_str: set if the arg for @user_arg_size is a string + * @user_arg_size: holds @arg that has size of the user space to read + * @user_mask: mask of @args that will read user space + * @types: list of types as strings + * @args: list of args as strings (args[i] matches types[i]) + * @enter_fields: list of fields for syscall_enter trace event + * @enter_event: associated syscall_enter trace event + * @exit_event: associated syscall_exit trace event + */ +struct syscall_metadata { + const char *name; + int syscall_nr; + u8 nb_args:7; + u8 user_arg_is_str:1; + s8 user_arg_size; + short user_mask; + const char **types; + const char **args; + struct list_head enter_fields; + + struct trace_event_call *enter_event; + struct trace_event_call *exit_event; +}; + +#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS) +static inline void syscall_tracepoint_update(struct task_struct *p) +{ + if (test_syscall_work(SYSCALL_TRACEPOINT)) + set_task_syscall_work(p, SYSCALL_TRACEPOINT); + else + clear_task_syscall_work(p, SYSCALL_TRACEPOINT); +} +#else +static inline void syscall_tracepoint_update(struct task_struct *p) +{ +} +#endif + +#endif /* _TRACE_SYSCALL_H */ -- cgit v1.3.1