summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorVincent Donnefort <vdonnefort@google.com>2026-03-09 19:24:57 +0300
committerSteven Rostedt (Google) <rostedt@goodmis.org>2026-03-09 19:33:54 +0300
commit5f3efd1dcebc35d44cce39630ae00980a45d9247 (patch)
tree0441dd5160e295d9249a60725fb33eed093147c0 /include/linux
parent775cb093bc50649e83ad00ce5347d6fbd4aa8387 (diff)
downloadlinux-5f3efd1dcebc35d44cce39630ae00980a45d9247.tar.xz
tracing: Add helpers to create trace remote events
Declaring remote events can be cumbersome let's add a set of macros to simplify developers life. The declaration of a remote event is very similar to kernel's events: REMOTE_EVENT(name, id, RE_STRUCT( re_field(u64 foo) ), RE_PRINTK("foo=%llu", __entry->foo) ) Link: https://patch.msgid.link/20260309162516.2623589-12-vdonnefort@google.com Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Vincent Donnefort <vdonnefort@google.com> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/trace_remote_event.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/trace_remote_event.h b/include/linux/trace_remote_event.h
index a4449008a075..c8ae1e1f5e72 100644
--- a/include/linux/trace_remote_event.h
+++ b/include/linux/trace_remote_event.h
@@ -5,6 +5,7 @@
struct trace_remote;
struct trace_event_fields;
+struct trace_seq;
struct remote_event_hdr {
unsigned short id;
@@ -20,4 +21,13 @@ struct remote_event {
char *print_fmt;
void (*print)(void *evt, struct trace_seq *seq);
};
+
+#define RE_STRUCT(__args...) __args
+#define re_field(__type, __field) __type __field;
+
+#define REMOTE_EVENT_FORMAT(__name, __struct) \
+ struct remote_event_format_##__name { \
+ struct remote_event_hdr hdr; \
+ __struct \
+ }
#endif