arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / events / percpu.h
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 #include <trace/events/mmflags.h>
10
11 TRACE_EVENT(percpu_alloc_percpu,
12
13         TP_PROTO(unsigned long call_site,
14                  bool reserved, bool is_atomic, size_t size,
15                  size_t align, void *base_addr, int off,
16                  void __percpu *ptr, size_t bytes_alloc, gfp_t gfp_flags),
17
18         TP_ARGS(call_site, reserved, is_atomic, size, align, base_addr, off,
19                 ptr, bytes_alloc, gfp_flags),
20
21         TP_STRUCT__entry(
22                 __field(        unsigned long,          call_site       )
23                 __field(        bool,                   reserved        )
24                 __field(        bool,                   is_atomic       )
25                 __field(        size_t,                 size            )
26                 __field(        size_t,                 align           )
27                 __field(        void *,                 base_addr       )
28                 __field(        int,                    off             )
29                 __field(        void __percpu *,        ptr             )
30                 __field(        size_t,                 bytes_alloc     )
31                 __field(        unsigned long,          gfp_flags       )
32         ),
33         TP_fast_assign(
34                 __entry->call_site      = call_site;
35                 __entry->reserved       = reserved;
36                 __entry->is_atomic      = is_atomic;
37                 __entry->size           = size;
38                 __entry->align          = align;
39                 __entry->base_addr      = base_addr;
40                 __entry->off            = off;
41                 __entry->ptr            = ptr;
42                 __entry->bytes_alloc    = bytes_alloc;
43                 __entry->gfp_flags      = (__force unsigned long)gfp_flags;
44         ),
45
46         TP_printk("call_site=%pS reserved=%d is_atomic=%d size=%zu align=%zu base_addr=%p off=%d ptr=%p bytes_alloc=%zu gfp_flags=%s",
47                   (void *)__entry->call_site,
48                   __entry->reserved, __entry->is_atomic,
49                   __entry->size, __entry->align,
50                   __entry->base_addr, __entry->off, __entry->ptr,
51                   __entry->bytes_alloc, show_gfp_flags(__entry->gfp_flags))
52 );
53
54 TRACE_EVENT(percpu_free_percpu,
55
56         TP_PROTO(void *base_addr, int off, void __percpu *ptr),
57
58         TP_ARGS(base_addr, off, ptr),
59
60         TP_STRUCT__entry(
61                 __field(        void *,                 base_addr       )
62                 __field(        int,                    off             )
63                 __field(        void __percpu *,        ptr             )
64         ),
65
66         TP_fast_assign(
67                 __entry->base_addr      = base_addr;
68                 __entry->off            = off;
69                 __entry->ptr            = ptr;
70         ),
71
72         TP_printk("base_addr=%p off=%d ptr=%p",
73                 __entry->base_addr, __entry->off, __entry->ptr)
74 );
75
76 TRACE_EVENT(percpu_alloc_percpu_fail,
77
78         TP_PROTO(bool reserved, bool is_atomic, size_t size, size_t align),
79
80         TP_ARGS(reserved, is_atomic, size, align),
81
82         TP_STRUCT__entry(
83                 __field(        bool,   reserved        )
84                 __field(        bool,   is_atomic       )
85                 __field(        size_t, size            )
86                 __field(        size_t, align           )
87         ),
88
89         TP_fast_assign(
90                 __entry->reserved       = reserved;
91                 __entry->is_atomic      = is_atomic;
92                 __entry->size           = size;
93                 __entry->align          = align;
94         ),
95
96         TP_printk("reserved=%d is_atomic=%d size=%zu align=%zu",
97                   __entry->reserved, __entry->is_atomic,
98                   __entry->size, __entry->align)
99 );
100
101 TRACE_EVENT(percpu_create_chunk,
102
103         TP_PROTO(void *base_addr),
104
105         TP_ARGS(base_addr),
106
107         TP_STRUCT__entry(
108                 __field(        void *, base_addr       )
109         ),
110
111         TP_fast_assign(
112                 __entry->base_addr      = base_addr;
113         ),
114
115         TP_printk("base_addr=%p", __entry->base_addr)
116 );
117
118 TRACE_EVENT(percpu_destroy_chunk,
119
120         TP_PROTO(void *base_addr),
121
122         TP_ARGS(base_addr),
123
124         TP_STRUCT__entry(
125                 __field(        void *, base_addr       )
126         ),
127
128         TP_fast_assign(
129                 __entry->base_addr      = base_addr;
130         ),
131
132         TP_printk("base_addr=%p", __entry->base_addr)
133 );
134
135 #endif /* _TRACE_PERCPU_H */
136
137 #include <trace/define_trace.h>