xref: /openbmc/linux/include/trace/events/percpu.h (revision df95e795a722892a9e0603ce4b9b62fab9f02967)
1*df95e795SDennis Zhou #undef TRACE_SYSTEM
2*df95e795SDennis Zhou #define TRACE_SYSTEM percpu
3*df95e795SDennis Zhou 
4*df95e795SDennis Zhou #if !defined(_TRACE_PERCPU_H) || defined(TRACE_HEADER_MULTI_READ)
5*df95e795SDennis Zhou #define _TRACE_PERCPU_H
6*df95e795SDennis Zhou 
7*df95e795SDennis Zhou #include <linux/tracepoint.h>
8*df95e795SDennis Zhou 
9*df95e795SDennis Zhou TRACE_EVENT(percpu_alloc_percpu,
10*df95e795SDennis Zhou 
11*df95e795SDennis Zhou 	TP_PROTO(bool reserved, bool is_atomic, size_t size,
12*df95e795SDennis Zhou 		 size_t align, void *base_addr, int off, void __percpu *ptr),
13*df95e795SDennis Zhou 
14*df95e795SDennis Zhou 	TP_ARGS(reserved, is_atomic, size, align, base_addr, off, ptr),
15*df95e795SDennis Zhou 
16*df95e795SDennis Zhou 	TP_STRUCT__entry(
17*df95e795SDennis Zhou 		__field(	bool,			reserved	)
18*df95e795SDennis Zhou 		__field(	bool,			is_atomic	)
19*df95e795SDennis Zhou 		__field(	size_t,			size		)
20*df95e795SDennis Zhou 		__field(	size_t,			align		)
21*df95e795SDennis Zhou 		__field(	void *,			base_addr	)
22*df95e795SDennis Zhou 		__field(	int,			off		)
23*df95e795SDennis Zhou 		__field(	void __percpu *,	ptr		)
24*df95e795SDennis Zhou 	),
25*df95e795SDennis Zhou 
26*df95e795SDennis Zhou 	TP_fast_assign(
27*df95e795SDennis Zhou 		__entry->reserved	= reserved;
28*df95e795SDennis Zhou 		__entry->is_atomic	= is_atomic;
29*df95e795SDennis Zhou 		__entry->size		= size;
30*df95e795SDennis Zhou 		__entry->align		= align;
31*df95e795SDennis Zhou 		__entry->base_addr	= base_addr;
32*df95e795SDennis Zhou 		__entry->off		= off;
33*df95e795SDennis Zhou 		__entry->ptr		= ptr;
34*df95e795SDennis Zhou 	),
35*df95e795SDennis Zhou 
36*df95e795SDennis Zhou 	TP_printk("reserved=%d is_atomic=%d size=%zu align=%zu base_addr=%p off=%d ptr=%p",
37*df95e795SDennis Zhou 		  __entry->reserved, __entry->is_atomic,
38*df95e795SDennis Zhou 		  __entry->size, __entry->align,
39*df95e795SDennis Zhou 		  __entry->base_addr, __entry->off, __entry->ptr)
40*df95e795SDennis Zhou );
41*df95e795SDennis Zhou 
42*df95e795SDennis Zhou TRACE_EVENT(percpu_free_percpu,
43*df95e795SDennis Zhou 
44*df95e795SDennis Zhou 	TP_PROTO(void *base_addr, int off, void __percpu *ptr),
45*df95e795SDennis Zhou 
46*df95e795SDennis Zhou 	TP_ARGS(base_addr, off, ptr),
47*df95e795SDennis Zhou 
48*df95e795SDennis Zhou 	TP_STRUCT__entry(
49*df95e795SDennis Zhou 		__field(	void *,			base_addr	)
50*df95e795SDennis Zhou 		__field(	int,			off		)
51*df95e795SDennis Zhou 		__field(	void __percpu *,	ptr		)
52*df95e795SDennis Zhou 	),
53*df95e795SDennis Zhou 
54*df95e795SDennis Zhou 	TP_fast_assign(
55*df95e795SDennis Zhou 		__entry->base_addr	= base_addr;
56*df95e795SDennis Zhou 		__entry->off		= off;
57*df95e795SDennis Zhou 		__entry->ptr		= ptr;
58*df95e795SDennis Zhou 	),
59*df95e795SDennis Zhou 
60*df95e795SDennis Zhou 	TP_printk("base_addr=%p off=%d ptr=%p",
61*df95e795SDennis Zhou 		__entry->base_addr, __entry->off, __entry->ptr)
62*df95e795SDennis Zhou );
63*df95e795SDennis Zhou 
64*df95e795SDennis Zhou TRACE_EVENT(percpu_alloc_percpu_fail,
65*df95e795SDennis Zhou 
66*df95e795SDennis Zhou 	TP_PROTO(bool reserved, bool is_atomic, size_t size, size_t align),
67*df95e795SDennis Zhou 
68*df95e795SDennis Zhou 	TP_ARGS(reserved, is_atomic, size, align),
69*df95e795SDennis Zhou 
70*df95e795SDennis Zhou 	TP_STRUCT__entry(
71*df95e795SDennis Zhou 		__field(	bool,	reserved	)
72*df95e795SDennis Zhou 		__field(	bool,	is_atomic	)
73*df95e795SDennis Zhou 		__field(	size_t,	size		)
74*df95e795SDennis Zhou 		__field(	size_t, align		)
75*df95e795SDennis Zhou 	),
76*df95e795SDennis Zhou 
77*df95e795SDennis Zhou 	TP_fast_assign(
78*df95e795SDennis Zhou 		__entry->reserved	= reserved;
79*df95e795SDennis Zhou 		__entry->is_atomic	= is_atomic;
80*df95e795SDennis Zhou 		__entry->size		= size;
81*df95e795SDennis Zhou 		__entry->align		= align;
82*df95e795SDennis Zhou 	),
83*df95e795SDennis Zhou 
84*df95e795SDennis Zhou 	TP_printk("reserved=%d is_atomic=%d size=%zu align=%zu",
85*df95e795SDennis Zhou 		  __entry->reserved, __entry->is_atomic,
86*df95e795SDennis Zhou 		  __entry->size, __entry->align)
87*df95e795SDennis Zhou );
88*df95e795SDennis Zhou 
89*df95e795SDennis Zhou TRACE_EVENT(percpu_create_chunk,
90*df95e795SDennis Zhou 
91*df95e795SDennis Zhou 	TP_PROTO(void *base_addr),
92*df95e795SDennis Zhou 
93*df95e795SDennis Zhou 	TP_ARGS(base_addr),
94*df95e795SDennis Zhou 
95*df95e795SDennis Zhou 	TP_STRUCT__entry(
96*df95e795SDennis Zhou 		__field(	void *, base_addr	)
97*df95e795SDennis Zhou 	),
98*df95e795SDennis Zhou 
99*df95e795SDennis Zhou 	TP_fast_assign(
100*df95e795SDennis Zhou 		__entry->base_addr	= base_addr;
101*df95e795SDennis Zhou 	),
102*df95e795SDennis Zhou 
103*df95e795SDennis Zhou 	TP_printk("base_addr=%p", __entry->base_addr)
104*df95e795SDennis Zhou );
105*df95e795SDennis Zhou 
106*df95e795SDennis Zhou TRACE_EVENT(percpu_destroy_chunk,
107*df95e795SDennis Zhou 
108*df95e795SDennis Zhou 	TP_PROTO(void *base_addr),
109*df95e795SDennis Zhou 
110*df95e795SDennis Zhou 	TP_ARGS(base_addr),
111*df95e795SDennis Zhou 
112*df95e795SDennis Zhou 	TP_STRUCT__entry(
113*df95e795SDennis Zhou 		__field(	void *,	base_addr	)
114*df95e795SDennis Zhou 	),
115*df95e795SDennis Zhou 
116*df95e795SDennis Zhou 	TP_fast_assign(
117*df95e795SDennis Zhou 		__entry->base_addr	= base_addr;
118*df95e795SDennis Zhou 	),
119*df95e795SDennis Zhou 
120*df95e795SDennis Zhou 	TP_printk("base_addr=%p", __entry->base_addr)
121*df95e795SDennis Zhou );
122*df95e795SDennis Zhou 
123*df95e795SDennis Zhou #endif /* _TRACE_PERCPU_H */
124*df95e795SDennis Zhou 
125*df95e795SDennis Zhou #include <trace/define_trace.h>
126