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