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