1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define TRACE_SYSTEM random
5 #if !defined(LTTNG_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_RANDOM_H
8 #include <probes/lttng-tracepoint-event.h>
9 #include <linux/writeback.h>
11 LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes
,
12 TP_PROTO(const char *pool_name
, int bytes
, unsigned long IP
),
14 TP_ARGS(pool_name
, bytes
, IP
),
17 ctf_string(pool_name
, pool_name
)
18 ctf_integer(int, bytes
, bytes
)
19 ctf_integer(unsigned long, IP
, IP
)
23 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes
, mix_pool_bytes
,
25 random_mix_pool_bytes
,
27 TP_PROTO(const char *pool_name
, int bytes
, unsigned long IP
),
29 TP_ARGS(pool_name
, bytes
, IP
)
32 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes
, mix_pool_bytes_nolock
,
34 random_mix_pool_bytes_nolock
,
36 TP_PROTO(const char *pool_name
, int bytes
, unsigned long IP
),
38 TP_ARGS(pool_name
, bytes
, IP
)
41 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0))
42 LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits
,
44 random_credit_entropy_bits
,
46 TP_PROTO(const char *pool_name
, int bits
, int entropy_count
,
49 TP_ARGS(pool_name
, bits
, entropy_count
, IP
),
52 ctf_string(pool_name
, pool_name
)
53 ctf_integer(int, bits
, bits
)
54 ctf_integer(int, entropy_count
, entropy_count
)
55 ctf_integer(unsigned long, IP
, IP
)
59 LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits
,
61 random_credit_entropy_bits
,
63 TP_PROTO(const char *pool_name
, int bits
, int entropy_count
,
64 int entropy_total
, unsigned long IP
),
66 TP_ARGS(pool_name
, bits
, entropy_count
, entropy_total
, IP
),
69 ctf_string(pool_name
, pool_name
)
70 ctf_integer(int, bits
, bits
)
71 ctf_integer(int, entropy_count
, entropy_count
)
72 ctf_integer(int, entropy_total
, entropy_total
)
73 ctf_integer(unsigned long, IP
, IP
)
78 LTTNG_TRACEPOINT_EVENT_MAP(get_random_bytes
,
80 random_get_random_bytes
,
82 TP_PROTO(int nbytes
, unsigned long IP
),
87 ctf_integer(int, nbytes
, nbytes
)
88 ctf_integer(unsigned long, IP
, IP
)
92 LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy
,
93 TP_PROTO(const char *pool_name
, int nbytes
, int entropy_count
,
96 TP_ARGS(pool_name
, nbytes
, entropy_count
, IP
),
99 ctf_string(pool_name
, pool_name
)
100 ctf_integer(int, nbytes
, nbytes
)
101 ctf_integer(int, entropy_count
, entropy_count
)
102 ctf_integer(unsigned long, IP
, IP
)
107 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy
, extract_entropy
,
109 random_extract_entropy
,
111 TP_PROTO(const char *pool_name
, int nbytes
, int entropy_count
,
114 TP_ARGS(pool_name
, nbytes
, entropy_count
, IP
)
117 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy
, extract_entropy_user
,
119 random_extract_entropy_user
,
121 TP_PROTO(const char *pool_name
, int nbytes
, int entropy_count
,
124 TP_ARGS(pool_name
, nbytes
, entropy_count
, IP
)
129 #endif /* LTTNG_TRACE_RANDOM_H */
131 /* This part must be outside protection */
132 #include <probes/define_trace.h>