Fix: scsi: sd: Atomic write support added in 6.11-rc1
[lttng-modules.git] / include / instrumentation / events / random.h
CommitLineData
61baff6e
MJ
1// SPDX-FileCopyrightText: 2012 Andrew Gabbasov <andrew_gabbasov@mentor.com>
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
b87700e3
AG
5#undef TRACE_SYSTEM
6#define TRACE_SYSTEM random
7
3bc29f0a
MD
8#if !defined(LTTNG_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ)
9#define LTTNG_TRACE_RANDOM_H
b87700e3 10
3b4aafcb 11#include <lttng/tracepoint-event.h>
b87700e3 12#include <linux/writeback.h>
b87700e3 13
7ff05f73
MJ
14LTTNG_TRACEPOINT_EVENT_MAP(add_device_randomness,
15
16 random_add_device_randomness,
17
18 TP_PROTO(int bytes, unsigned long IP),
19
20 TP_ARGS(bytes, IP),
21
22 TP_FIELDS(
23 ctf_integer(int, bytes, bytes)
24 ctf_integer_hex(unsigned long, IP, IP)
25 )
26)
7ff05f73 27
464034ba
MJ
28#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
29LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
30 TP_PROTO(int bytes, unsigned long IP),
31
32 TP_ARGS(bytes, IP),
33
34 TP_FIELDS(
35 ctf_integer(int, bytes, bytes)
36 ctf_integer_hex(unsigned long, IP, IP)
37 )
38)
39
40LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes,
41
42 random_mix_pool_bytes,
43
44 TP_PROTO(int bytes, unsigned long IP),
45
46 TP_ARGS(bytes, IP)
47)
48
49LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock,
50
51 random_mix_pool_bytes_nolock,
52
53 TP_PROTO(int bytes, unsigned long IP),
54
55 TP_ARGS(bytes, IP)
56)
57#else
3bc29f0a 58LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
b87700e3
AG
59 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
60
61 TP_ARGS(pool_name, bytes, IP),
62
f127e61e
MD
63 TP_FIELDS(
64 ctf_string(pool_name, pool_name)
65 ctf_integer(int, bytes, bytes)
2c054599 66 ctf_integer_hex(unsigned long, IP, IP)
f127e61e 67 )
b87700e3
AG
68)
69
3bc29f0a 70LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes,
9cf29d3e
MD
71
72 random_mix_pool_bytes,
73
b87700e3
AG
74 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
75
76 TP_ARGS(pool_name, bytes, IP)
77)
78
3bc29f0a 79LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock,
9cf29d3e
MD
80
81 random_mix_pool_bytes_nolock,
82
b87700e3
AG
83 TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
84
85 TP_ARGS(pool_name, bytes, IP)
86)
464034ba 87#endif
b87700e3 88
464034ba
MJ
89#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
90LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
91
92 random_credit_entropy_bits,
93
94 TP_PROTO(int bits, int entropy_count, unsigned long IP),
95
96 TP_ARGS(bits, entropy_count, IP),
97
98 TP_FIELDS(
99 ctf_integer(int, bits, bits)
100 ctf_integer(int, entropy_count, entropy_count)
101 ctf_integer_hex(unsigned long, IP, IP)
102 )
103)
104#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0))
a6a26911
MJ
105LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
106
107 random_credit_entropy_bits,
108
109 TP_PROTO(const char *pool_name, int bits, int entropy_count,
110 unsigned long IP),
111
112 TP_ARGS(pool_name, bits, entropy_count, IP),
113
114 TP_FIELDS(
115 ctf_string(pool_name, pool_name)
116 ctf_integer(int, bits, bits)
117 ctf_integer(int, entropy_count, entropy_count)
2c054599 118 ctf_integer_hex(unsigned long, IP, IP)
a6a26911
MJ
119 )
120)
121#else
3bc29f0a 122LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
9cf29d3e
MD
123
124 random_credit_entropy_bits,
125
b87700e3
AG
126 TP_PROTO(const char *pool_name, int bits, int entropy_count,
127 int entropy_total, unsigned long IP),
128
129 TP_ARGS(pool_name, bits, entropy_count, entropy_total, IP),
130
f127e61e
MD
131 TP_FIELDS(
132 ctf_string(pool_name, pool_name)
133 ctf_integer(int, bits, bits)
134 ctf_integer(int, entropy_count, entropy_count)
135 ctf_integer(int, entropy_total, entropy_total)
2c054599 136 ctf_integer_hex(unsigned long, IP, IP)
f127e61e 137 )
b87700e3 138)
a6a26911 139#endif
b87700e3 140
7ff05f73
MJ
141LTTNG_TRACEPOINT_EVENT_MAP(push_to_pool,
142
143 random_push_to_pool,
144
145 TP_PROTO(const char *pool_name, int pool_bits, int input_bits),
146
147 TP_ARGS(pool_name, pool_bits, input_bits),
148
149 TP_FIELDS(
150 ctf_string(pool_name, pool_name)
151 ctf_integer(int, pool_bits, pool_bits)
152 ctf_integer(int, input_bits, input_bits)
153 )
154)
7ff05f73
MJ
155
156#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
157LTTNG_TRACEPOINT_EVENT_MAP(debit_entropy,
158
159 random_debit_entropy,
160
161 TP_PROTO(int debit_bits),
162
163 TP_ARGS(debit_bits),
164
165 TP_FIELDS(
166 ctf_integer(int, debit_bits, debit_bits)
167 )
168)
9e9b82f4 169#else
7ff05f73
MJ
170LTTNG_TRACEPOINT_EVENT_MAP(debit_entropy,
171
172 random_debit_entropy,
173
174 TP_PROTO(const char *pool_name, int debit_bits),
175
176 TP_ARGS(pool_name, debit_bits),
177
178 TP_FIELDS(
179 ctf_string(pool_name, pool_name)
180 ctf_integer(int, debit_bits, debit_bits)
181 )
182)
183#endif
184
7ff05f73
MJ
185LTTNG_TRACEPOINT_EVENT_MAP(add_input_randomness,
186
187 random_add_input_randomness,
188
189 TP_PROTO(int input_bits),
190
191 TP_ARGS(input_bits),
192
193 TP_FIELDS(
194 ctf_integer(int, input_bits, input_bits)
195 )
196)
197
198LTTNG_TRACEPOINT_EVENT_MAP(add_disk_randomness,
199
200 random_add_disk_randomness,
201
202 TP_PROTO(dev_t dev, int input_bits),
203
204 TP_ARGS(dev, input_bits),
205
206 TP_FIELDS(
207 ctf_integer(dev_t, dev, dev)
208 ctf_integer(int, input_bits, input_bits)
209 )
210)
211
212LTTNG_TRACEPOINT_EVENT_MAP(xfer_secondary_pool,
213
214 random_xfer_secondary_pool,
215
216 TP_PROTO(const char *pool_name, int xfer_bits, int request_bits,
217 int pool_entropy, int input_entropy),
218
219 TP_ARGS(pool_name, xfer_bits, request_bits, pool_entropy,
220 input_entropy),
221
222 TP_FIELDS(
223 ctf_string(pool_name, pool_name)
224 ctf_integer(int, xfer_bits, xfer_bits)
225 ctf_integer(int, request_bits, request_bits)
226 ctf_integer(int, pool_entropy, pool_entropy)
227 ctf_integer(int, input_entropy, input_entropy)
228 )
229)
7ff05f73 230
7ff05f73
MJ
231LTTNG_TRACEPOINT_EVENT_CLASS(random__get_random_bytes,
232
233 TP_PROTO(int nbytes, unsigned long IP),
234
235 TP_ARGS(nbytes, IP),
236
237 TP_FIELDS(
238 ctf_integer(int, nbytes, nbytes)
239 ctf_integer_hex(unsigned long, IP, IP)
240 )
241)
242
243LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__get_random_bytes, get_random_bytes,
244
245 random_get_random_bytes,
246
247 TP_PROTO(int nbytes, unsigned long IP),
248
249 TP_ARGS(nbytes, IP)
250)
251
252LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__get_random_bytes, get_random_bytes_arch,
253
254 random_get_random_bytes_arch,
255
256 TP_PROTO(int nbytes, unsigned long IP),
257
258 TP_ARGS(nbytes, IP)
259)
b87700e3 260
464034ba
MJ
261#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
262LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
263 TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
264
265 TP_ARGS(nbytes, entropy_count, IP),
266
267 TP_FIELDS(
268 ctf_integer(int, nbytes, nbytes)
269 ctf_integer(int, entropy_count, entropy_count)
270 ctf_integer_hex(unsigned long, IP, IP)
271 )
272)
273
274
275LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy,
276
277 random_extract_entropy,
278
279 TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
280
281 TP_ARGS(nbytes, entropy_count, IP)
282)
283
284LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user,
285
286 random_extract_entropy_user,
287
288 TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
289
290 TP_ARGS(nbytes, entropy_count, IP)
291)
292#else
3bc29f0a 293LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
b87700e3
AG
294 TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
295 unsigned long IP),
296
297 TP_ARGS(pool_name, nbytes, entropy_count, IP),
298
f127e61e
MD
299 TP_FIELDS(
300 ctf_string(pool_name, pool_name)
301 ctf_integer(int, nbytes, nbytes)
302 ctf_integer(int, entropy_count, entropy_count)
2c054599 303 ctf_integer_hex(unsigned long, IP, IP)
f127e61e 304 )
b87700e3
AG
305)
306
307
3bc29f0a 308LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy,
9cf29d3e
MD
309
310 random_extract_entropy,
311
b87700e3
AG
312 TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
313 unsigned long IP),
314
315 TP_ARGS(pool_name, nbytes, entropy_count, IP)
316)
317
3bc29f0a 318LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user,
9cf29d3e
MD
319
320 random_extract_entropy_user,
321
b87700e3
AG
322 TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
323 unsigned long IP),
324
325 TP_ARGS(pool_name, nbytes, entropy_count, IP)
326)
464034ba 327#endif
b87700e3 328
7ff05f73
MJ
329LTTNG_TRACEPOINT_EVENT_MAP(random_read,
330
331 random_random_read,
332
333 TP_PROTO(int got_bits, int need_bits, int pool_left, int input_left),
334
335 TP_ARGS(got_bits, need_bits, pool_left, input_left),
336
337 TP_FIELDS(
338 ctf_integer(int, got_bits, got_bits)
339 ctf_integer(int, need_bits, need_bits)
340 ctf_integer(int, pool_left, pool_left)
341 ctf_integer(int, input_left, input_left)
342 )
343)
344
345LTTNG_TRACEPOINT_EVENT_MAP(urandom_read,
346
347 random_urandom_read,
348
349 TP_PROTO(int got_bits, int pool_left, int input_left),
350
351 TP_ARGS(got_bits, pool_left, input_left),
352
353 TP_FIELDS(
354 ctf_integer(int, got_bits, got_bits)
355 ctf_integer(int, pool_left, pool_left)
356 ctf_integer(int, input_left, input_left)
357 )
358)
7ff05f73
MJ
359
360#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0))
361LTTNG_TRACEPOINT_EVENT_MAP(prandom_u32,
362
363 random_prandom_u32,
364
365 TP_PROTO(unsigned int ret),
366
367 TP_ARGS(ret),
368
369 TP_FIELDS(
370 ctf_integer(unsigned int, ret, ret)
371 )
372)
373#endif
b87700e3
AG
374
375
3bc29f0a 376#endif /* LTTNG_TRACE_RANDOM_H */
b87700e3
AG
377
378/* This part must be outside protection */
3b4aafcb 379#include <lttng/define_trace.h>
This page took 0.074636 seconds and 4 git commands to generate.