72 lines · 1.5 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 */#undef TRACE_SYSTEM#define TRACE_SYSTEM csd #if !defined(_TRACE_CSD_H) || defined(TRACE_HEADER_MULTI_READ)#define _TRACE_CSD_H #include <linux/tracepoint.h> TRACE_EVENT(csd_queue_cpu, 	TP_PROTO(const unsigned int cpu,		unsigned long callsite,		smp_call_func_t func,		call_single_data_t *csd), 	TP_ARGS(cpu, callsite, func, csd), 	TP_STRUCT__entry(		__field(unsigned int, cpu)		__field(void *, callsite)		__field(void *, func)		__field(void *, csd)		), 	    TP_fast_assign(		__entry->cpu = cpu;		__entry->callsite = (void *)callsite;		__entry->func = func;		__entry->csd  = csd;		), 	TP_printk("cpu=%u callsite=%pS func=%ps csd=%p",		__entry->cpu, __entry->callsite, __entry->func, __entry->csd)	); /* * Tracepoints for a function which is called as an effect of smp_call_function.* */DECLARE_EVENT_CLASS(csd_function, 	TP_PROTO(smp_call_func_t func, call_single_data_t *csd), 	TP_ARGS(func, csd), 	TP_STRUCT__entry(		__field(void *,	func)		__field(void *,	csd)	), 	TP_fast_assign(		__entry->func	= func;		__entry->csd	= csd;	), 	TP_printk("func=%ps, csd=%p", __entry->func, __entry->csd)); DEFINE_EVENT(csd_function, csd_function_entry,	TP_PROTO(smp_call_func_t func, call_single_data_t *csd),	TP_ARGS(func, csd)); DEFINE_EVENT(csd_function, csd_function_exit,	TP_PROTO(smp_call_func_t func, call_single_data_t *csd),	TP_ARGS(func, csd)); #endif /* _TRACE_CSD_H */ /* This part must be outside protection */#include <trace/define_trace.h>