1bb730b58SSteven Rostedt (VMware) // SPDX-License-Identifier: GPL-2.0 281dc9f0eSSteven Rostedt (Red Hat) #undef TRACE_SYSTEM 381dc9f0eSSteven Rostedt (Red Hat) #define TRACE_SYSTEM benchmark 481dc9f0eSSteven Rostedt (Red Hat) 581dc9f0eSSteven Rostedt (Red Hat) #if !defined(_TRACE_BENCHMARK_H) || defined(TRACE_HEADER_MULTI_READ) 681dc9f0eSSteven Rostedt (Red Hat) #define _TRACE_BENCHMARK_H 781dc9f0eSSteven Rostedt (Red Hat) 881dc9f0eSSteven Rostedt (Red Hat) #include <linux/tracepoint.h> 981dc9f0eSSteven Rostedt (Red Hat) 108cf868afSSteven Rostedt (Red Hat) extern int trace_benchmark_reg(void); 1181dc9f0eSSteven Rostedt (Red Hat) extern void trace_benchmark_unreg(void); 1281dc9f0eSSteven Rostedt (Red Hat) 1381dc9f0eSSteven Rostedt (Red Hat) #define BENCHMARK_EVENT_STRLEN 128 1481dc9f0eSSteven Rostedt (Red Hat) 1581dc9f0eSSteven Rostedt (Red Hat) TRACE_EVENT_FN(benchmark_event, 1681dc9f0eSSteven Rostedt (Red Hat) 17*b7b037ebSSteven Rostedt (Google) TP_PROTO(const char *str, u64 delta), 1881dc9f0eSSteven Rostedt (Red Hat) 19*b7b037ebSSteven Rostedt (Google) TP_ARGS(str, delta), 2081dc9f0eSSteven Rostedt (Red Hat) 2181dc9f0eSSteven Rostedt (Red Hat) TP_STRUCT__entry( 2281dc9f0eSSteven Rostedt (Red Hat) __array( char, str, BENCHMARK_EVENT_STRLEN ) 23*b7b037ebSSteven Rostedt (Google) __field( u64, delta) 2481dc9f0eSSteven Rostedt (Red Hat) ), 2581dc9f0eSSteven Rostedt (Red Hat) 2681dc9f0eSSteven Rostedt (Red Hat) TP_fast_assign( 2781dc9f0eSSteven Rostedt (Red Hat) memcpy(__entry->str, str, BENCHMARK_EVENT_STRLEN); 28*b7b037ebSSteven Rostedt (Google) __entry->delta = delta; 2981dc9f0eSSteven Rostedt (Red Hat) ), 3081dc9f0eSSteven Rostedt (Red Hat) 31*b7b037ebSSteven Rostedt (Google) TP_printk("%s delta=%llu", __entry->str, __entry->delta), 3281dc9f0eSSteven Rostedt (Red Hat) 3381dc9f0eSSteven Rostedt (Red Hat) trace_benchmark_reg, trace_benchmark_unreg 3481dc9f0eSSteven Rostedt (Red Hat) ); 3581dc9f0eSSteven Rostedt (Red Hat) 3681dc9f0eSSteven Rostedt (Red Hat) #endif /* _TRACE_BENCHMARK_H */ 3781dc9f0eSSteven Rostedt (Red Hat) 3881dc9f0eSSteven Rostedt (Red Hat) #undef TRACE_INCLUDE_FILE 3981dc9f0eSSteven Rostedt (Red Hat) #undef TRACE_INCLUDE_PATH 4081dc9f0eSSteven Rostedt (Red Hat) #define TRACE_INCLUDE_PATH . 4181dc9f0eSSteven Rostedt (Red Hat) #define TRACE_INCLUDE_FILE trace_benchmark 4281dc9f0eSSteven Rostedt (Red Hat) 4381dc9f0eSSteven Rostedt (Red Hat) /* This part must be outside protection */ 4481dc9f0eSSteven Rostedt (Red Hat) #include <trace/define_trace.h> 45