73 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM csd4 5#if !defined(_TRACE_CSD_H) || defined(TRACE_HEADER_MULTI_READ)6#define _TRACE_CSD_H7 8#include <linux/tracepoint.h>9 10TRACE_EVENT(csd_queue_cpu,11 12 TP_PROTO(const unsigned int cpu,13 unsigned long callsite,14 smp_call_func_t func,15 call_single_data_t *csd),16 17 TP_ARGS(cpu, callsite, func, csd),18 19 TP_STRUCT__entry(20 __field(unsigned int, cpu)21 __field(void *, callsite)22 __field(void *, func)23 __field(void *, csd)24 ),25 26 TP_fast_assign(27 __entry->cpu = cpu;28 __entry->callsite = (void *)callsite;29 __entry->func = func;30 __entry->csd = csd;31 ),32 33 TP_printk("cpu=%u callsite=%pS func=%ps csd=%p",34 __entry->cpu, __entry->callsite, __entry->func, __entry->csd)35 );36 37/*38 * Tracepoints for a function which is called as an effect of smp_call_function.*39 */40DECLARE_EVENT_CLASS(csd_function,41 42 TP_PROTO(smp_call_func_t func, call_single_data_t *csd),43 44 TP_ARGS(func, csd),45 46 TP_STRUCT__entry(47 __field(void *, func)48 __field(void *, csd)49 ),50 51 TP_fast_assign(52 __entry->func = func;53 __entry->csd = csd;54 ),55 56 TP_printk("func=%ps, csd=%p", __entry->func, __entry->csd)57);58 59DEFINE_EVENT(csd_function, csd_function_entry,60 TP_PROTO(smp_call_func_t func, call_single_data_t *csd),61 TP_ARGS(func, csd)62);63 64DEFINE_EVENT(csd_function, csd_function_exit,65 TP_PROTO(smp_call_func_t func, call_single_data_t *csd),66 TP_ARGS(func, csd)67);68 69#endif /* _TRACE_CSD_H */70 71/* This part must be outside protection */72#include <trace/define_trace.h>73