xref: /openbmc/linux/include/trace/events/csd.h (revision 949fa3f1)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM csd
4 
5 #if !defined(_TRACE_CSD_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_CSD_H
7 
8 #include <linux/tracepoint.h>
9 
10 /*
11  * Tracepoints for a function which is called as an effect of smp_call_function.*
12  */
13 DECLARE_EVENT_CLASS(csd_function,
14 
15 	TP_PROTO(smp_call_func_t func, struct __call_single_data *csd),
16 
17 	TP_ARGS(func, csd),
18 
19 	TP_STRUCT__entry(
20 		__field(void *,	func)
21 		__field(void *,	csd)
22 	),
23 
24 	TP_fast_assign(
25 		__entry->func	= func;
26 		__entry->csd	= csd;
27 	),
28 
29 	TP_printk("func=%ps, csd=%p", __entry->func, __entry->csd)
30 );
31 
32 DEFINE_EVENT(csd_function, csd_function_entry,
33 	TP_PROTO(smp_call_func_t func, struct __call_single_data *csd),
34 	TP_ARGS(func, csd)
35 );
36 
37 DEFINE_EVENT(csd_function, csd_function_exit,
38 	TP_PROTO(smp_call_func_t func, struct __call_single_data *csd),
39 	TP_ARGS(func, csd)
40 );
41 
42 #endif /* _TRACE_CSD_H */
43 
44 /* This part must be outside protection */
45 #include <trace/define_trace.h>
46