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, u64 delta), 18 19 TP_ARGS(str, delta), 20 21 TP_STRUCT__entry( 22 __array( char, str, BENCHMARK_EVENT_STRLEN ) 23 __field( u64, delta) 24 ), 25 26 TP_fast_assign( 27 memcpy(__entry->str, str, BENCHMARK_EVENT_STRLEN); 28 __entry->delta = delta; 29 ), 30 31 TP_printk("%s delta=%llu", __entry->str, __entry->delta), 32 33 trace_benchmark_reg, trace_benchmark_unreg 34 ); 35 36 #endif /* _TRACE_BENCHMARK_H */ 37 38 #undef TRACE_INCLUDE_FILE 39 #undef TRACE_INCLUDE_PATH 40 #define TRACE_INCLUDE_PATH . 41 #define TRACE_INCLUDE_FILE trace_benchmark 42 43 /* This part must be outside protection */ 44 #include <trace/define_trace.h> 45