1 #undef TRACE_SYSTEM 2 #define TRACE_SYSTEM random 3 4 #if !defined(_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ) 5 #define _TRACE_RANDOM_H 6 7 #include <linux/writeback.h> 8 #include <linux/tracepoint.h> 9 10 DECLARE_EVENT_CLASS(random__mix_pool_bytes, 11 TP_PROTO(const char *pool_name, int bytes, unsigned long IP), 12 13 TP_ARGS(pool_name, bytes, IP), 14 15 TP_STRUCT__entry( 16 __field( const char *, pool_name ) 17 __field( int, bytes ) 18 __field(unsigned long, IP ) 19 ), 20 21 TP_fast_assign( 22 __entry->pool_name = pool_name; 23 __entry->bytes = bytes; 24 __entry->IP = IP; 25 ), 26 27 TP_printk("%s pool: bytes %d caller %pF", 28 __entry->pool_name, __entry->bytes, (void *)__entry->IP) 29 ); 30 31 DEFINE_EVENT(random__mix_pool_bytes, mix_pool_bytes, 32 TP_PROTO(const char *pool_name, int bytes, unsigned long IP), 33 34 TP_ARGS(pool_name, bytes, IP) 35 ); 36 37 DEFINE_EVENT(random__mix_pool_bytes, mix_pool_bytes_nolock, 38 TP_PROTO(const char *pool_name, int bytes, unsigned long IP), 39 40 TP_ARGS(pool_name, bytes, IP) 41 ); 42 43 TRACE_EVENT(credit_entropy_bits, 44 TP_PROTO(const char *pool_name, int bits, int entropy_count, 45 int entropy_total, unsigned long IP), 46 47 TP_ARGS(pool_name, bits, entropy_count, entropy_total, IP), 48 49 TP_STRUCT__entry( 50 __field( const char *, pool_name ) 51 __field( int, bits ) 52 __field( int, entropy_count ) 53 __field( int, entropy_total ) 54 __field(unsigned long, IP ) 55 ), 56 57 TP_fast_assign( 58 __entry->pool_name = pool_name; 59 __entry->bits = bits; 60 __entry->entropy_count = entropy_count; 61 __entry->entropy_total = entropy_total; 62 __entry->IP = IP; 63 ), 64 65 TP_printk("%s pool: bits %d entropy_count %d entropy_total %d " 66 "caller %pF", __entry->pool_name, __entry->bits, 67 __entry->entropy_count, __entry->entropy_total, 68 (void *)__entry->IP) 69 ); 70 71 TRACE_EVENT(get_random_bytes, 72 TP_PROTO(int nbytes, unsigned long IP), 73 74 TP_ARGS(nbytes, IP), 75 76 TP_STRUCT__entry( 77 __field( int, nbytes ) 78 __field(unsigned long, IP ) 79 ), 80 81 TP_fast_assign( 82 __entry->nbytes = nbytes; 83 __entry->IP = IP; 84 ), 85 86 TP_printk("nbytes %d caller %pF", __entry->nbytes, (void *)__entry->IP) 87 ); 88 89 DECLARE_EVENT_CLASS(random__extract_entropy, 90 TP_PROTO(const char *pool_name, int nbytes, int entropy_count, 91 unsigned long IP), 92 93 TP_ARGS(pool_name, nbytes, entropy_count, IP), 94 95 TP_STRUCT__entry( 96 __field( const char *, pool_name ) 97 __field( int, nbytes ) 98 __field( int, entropy_count ) 99 __field(unsigned long, IP ) 100 ), 101 102 TP_fast_assign( 103 __entry->pool_name = pool_name; 104 __entry->nbytes = nbytes; 105 __entry->entropy_count = entropy_count; 106 __entry->IP = IP; 107 ), 108 109 TP_printk("%s pool: nbytes %d entropy_count %d caller %pF", 110 __entry->pool_name, __entry->nbytes, __entry->entropy_count, 111 (void *)__entry->IP) 112 ); 113 114 115 DEFINE_EVENT(random__extract_entropy, extract_entropy, 116 TP_PROTO(const char *pool_name, int nbytes, int entropy_count, 117 unsigned long IP), 118 119 TP_ARGS(pool_name, nbytes, entropy_count, IP) 120 ); 121 122 DEFINE_EVENT(random__extract_entropy, extract_entropy_user, 123 TP_PROTO(const char *pool_name, int nbytes, int entropy_count, 124 unsigned long IP), 125 126 TP_ARGS(pool_name, nbytes, entropy_count, IP) 127 ); 128 129 130 131 #endif /* _TRACE_RANDOM_H */ 132 133 /* This part must be outside protection */ 134 #include <trace/define_trace.h> 135