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