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