at v5.17-rc4 233 lines 4.6 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#undef TRACE_SYSTEM 3#define TRACE_SYSTEM random 4 5#if !defined(_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ) 6#define _TRACE_RANDOM_H 7 8#include <linux/writeback.h> 9#include <linux/tracepoint.h> 10 11TRACE_EVENT(add_device_randomness, 12 TP_PROTO(int bytes, unsigned long IP), 13 14 TP_ARGS(bytes, IP), 15 16 TP_STRUCT__entry( 17 __field( int, bytes ) 18 __field(unsigned long, IP ) 19 ), 20 21 TP_fast_assign( 22 __entry->bytes = bytes; 23 __entry->IP = IP; 24 ), 25 26 TP_printk("bytes %d caller %pS", 27 __entry->bytes, (void *)__entry->IP) 28); 29 30DECLARE_EVENT_CLASS(random__mix_pool_bytes, 31 TP_PROTO(int bytes, unsigned long IP), 32 33 TP_ARGS(bytes, IP), 34 35 TP_STRUCT__entry( 36 __field( int, bytes ) 37 __field(unsigned long, IP ) 38 ), 39 40 TP_fast_assign( 41 __entry->bytes = bytes; 42 __entry->IP = IP; 43 ), 44 45 TP_printk("input pool: bytes %d caller %pS", 46 __entry->bytes, (void *)__entry->IP) 47); 48 49DEFINE_EVENT(random__mix_pool_bytes, mix_pool_bytes, 50 TP_PROTO(int bytes, unsigned long IP), 51 52 TP_ARGS(bytes, IP) 53); 54 55DEFINE_EVENT(random__mix_pool_bytes, mix_pool_bytes_nolock, 56 TP_PROTO(int bytes, unsigned long IP), 57 58 TP_ARGS(bytes, IP) 59); 60 61TRACE_EVENT(credit_entropy_bits, 62 TP_PROTO(int bits, int entropy_count, unsigned long IP), 63 64 TP_ARGS(bits, entropy_count, IP), 65 66 TP_STRUCT__entry( 67 __field( int, bits ) 68 __field( int, entropy_count ) 69 __field(unsigned long, IP ) 70 ), 71 72 TP_fast_assign( 73 __entry->bits = bits; 74 __entry->entropy_count = entropy_count; 75 __entry->IP = IP; 76 ), 77 78 TP_printk("input pool: bits %d entropy_count %d caller %pS", 79 __entry->bits, __entry->entropy_count, (void *)__entry->IP) 80); 81 82TRACE_EVENT(debit_entropy, 83 TP_PROTO(int debit_bits), 84 85 TP_ARGS( debit_bits), 86 87 TP_STRUCT__entry( 88 __field( int, debit_bits ) 89 ), 90 91 TP_fast_assign( 92 __entry->debit_bits = debit_bits; 93 ), 94 95 TP_printk("input pool: debit_bits %d", __entry->debit_bits) 96); 97 98TRACE_EVENT(add_input_randomness, 99 TP_PROTO(int input_bits), 100 101 TP_ARGS(input_bits), 102 103 TP_STRUCT__entry( 104 __field( int, input_bits ) 105 ), 106 107 TP_fast_assign( 108 __entry->input_bits = input_bits; 109 ), 110 111 TP_printk("input_pool_bits %d", __entry->input_bits) 112); 113 114TRACE_EVENT(add_disk_randomness, 115 TP_PROTO(dev_t dev, int input_bits), 116 117 TP_ARGS(dev, input_bits), 118 119 TP_STRUCT__entry( 120 __field( dev_t, dev ) 121 __field( int, input_bits ) 122 ), 123 124 TP_fast_assign( 125 __entry->dev = dev; 126 __entry->input_bits = input_bits; 127 ), 128 129 TP_printk("dev %d,%d input_pool_bits %d", MAJOR(__entry->dev), 130 MINOR(__entry->dev), __entry->input_bits) 131); 132 133DECLARE_EVENT_CLASS(random__get_random_bytes, 134 TP_PROTO(int nbytes, unsigned long IP), 135 136 TP_ARGS(nbytes, IP), 137 138 TP_STRUCT__entry( 139 __field( int, nbytes ) 140 __field(unsigned long, IP ) 141 ), 142 143 TP_fast_assign( 144 __entry->nbytes = nbytes; 145 __entry->IP = IP; 146 ), 147 148 TP_printk("nbytes %d caller %pS", __entry->nbytes, (void *)__entry->IP) 149); 150 151DEFINE_EVENT(random__get_random_bytes, get_random_bytes, 152 TP_PROTO(int nbytes, unsigned long IP), 153 154 TP_ARGS(nbytes, IP) 155); 156 157DEFINE_EVENT(random__get_random_bytes, get_random_bytes_arch, 158 TP_PROTO(int nbytes, unsigned long IP), 159 160 TP_ARGS(nbytes, IP) 161); 162 163DECLARE_EVENT_CLASS(random__extract_entropy, 164 TP_PROTO(int nbytes, int entropy_count, unsigned long IP), 165 166 TP_ARGS(nbytes, entropy_count, IP), 167 168 TP_STRUCT__entry( 169 __field( int, nbytes ) 170 __field( int, entropy_count ) 171 __field(unsigned long, IP ) 172 ), 173 174 TP_fast_assign( 175 __entry->nbytes = nbytes; 176 __entry->entropy_count = entropy_count; 177 __entry->IP = IP; 178 ), 179 180 TP_printk("input pool: nbytes %d entropy_count %d caller %pS", 181 __entry->nbytes, __entry->entropy_count, (void *)__entry->IP) 182); 183 184 185DEFINE_EVENT(random__extract_entropy, extract_entropy, 186 TP_PROTO(int nbytes, int entropy_count, unsigned long IP), 187 188 TP_ARGS(nbytes, entropy_count, IP) 189); 190 191TRACE_EVENT(urandom_read, 192 TP_PROTO(int got_bits, int pool_left, int input_left), 193 194 TP_ARGS(got_bits, pool_left, input_left), 195 196 TP_STRUCT__entry( 197 __field( int, got_bits ) 198 __field( int, pool_left ) 199 __field( int, input_left ) 200 ), 201 202 TP_fast_assign( 203 __entry->got_bits = got_bits; 204 __entry->pool_left = pool_left; 205 __entry->input_left = input_left; 206 ), 207 208 TP_printk("got_bits %d nonblocking_pool_entropy_left %d " 209 "input_entropy_left %d", __entry->got_bits, 210 __entry->pool_left, __entry->input_left) 211); 212 213TRACE_EVENT(prandom_u32, 214 215 TP_PROTO(unsigned int ret), 216 217 TP_ARGS(ret), 218 219 TP_STRUCT__entry( 220 __field( unsigned int, ret) 221 ), 222 223 TP_fast_assign( 224 __entry->ret = ret; 225 ), 226 227 TP_printk("ret=%u" , __entry->ret) 228); 229 230#endif /* _TRACE_RANDOM_H */ 231 232/* This part must be outside protection */ 233#include <trace/define_trace.h>