xref: /linux/kernel/trace/trace_benchmark.h (revision 87c9c16317882dd6dbbc07e349bc3223e14f3244)
1 // SPDX-License-Identifier: GPL-2.0
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM benchmark
4 
5 #if !defined(_TRACE_BENCHMARK_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_BENCHMARK_H
7 
8 #include <linux/tracepoint.h>
9 
10 extern int trace_benchmark_reg(void);
11 extern void trace_benchmark_unreg(void);
12 
13 #define BENCHMARK_EVENT_STRLEN		128
14 
15 TRACE_EVENT_FN(benchmark_event,
16 
17 	TP_PROTO(const char *str),
18 
19 	TP_ARGS(str),
20 
21 	TP_STRUCT__entry(
22 		__array(	char,	str,	BENCHMARK_EVENT_STRLEN	)
23 	),
24 
25 	TP_fast_assign(
26 		memcpy(__entry->str, str, BENCHMARK_EVENT_STRLEN);
27 	),
28 
29 	TP_printk("%s", __entry->str),
30 
31 	trace_benchmark_reg, trace_benchmark_unreg
32 );
33 
34 #endif /* _TRACE_BENCHMARK_H */
35 
36 #undef TRACE_INCLUDE_FILE
37 #undef TRACE_INCLUDE_PATH
38 #define TRACE_INCLUDE_PATH .
39 #define TRACE_INCLUDE_FILE trace_benchmark
40 
41 /* This part must be outside protection */
42 #include <trace/define_trace.h>
43