File: csd.h

package info (click to toggle)
linux 6.16.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,724,628 kB
  • sloc: ansic: 26,562,645; asm: 271,329; sh: 144,039; python: 72,469; makefile: 57,135; perl: 36,821; xml: 19,553; cpp: 5,820; yacc: 4,915; lex: 2,955; awk: 1,667; sed: 28; ruby: 25
file content (72 lines) | stat: -rw-r--r-- 1,530 bytes parent folder | download | duplicates (19)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* 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>