1*54a611b6SLiam R. Howlett /* SPDX-License-Identifier: GPL-2.0 */ 2*54a611b6SLiam R. Howlett #undef TRACE_SYSTEM 3*54a611b6SLiam R. Howlett #define TRACE_SYSTEM maple_tree 4*54a611b6SLiam R. Howlett 5*54a611b6SLiam R. Howlett #if !defined(_TRACE_MM_H) || defined(TRACE_HEADER_MULTI_READ) 6*54a611b6SLiam R. Howlett #define _TRACE_MM_H 7*54a611b6SLiam R. Howlett 8*54a611b6SLiam R. Howlett 9*54a611b6SLiam R. Howlett #include <linux/tracepoint.h> 10*54a611b6SLiam R. Howlett 11*54a611b6SLiam R. Howlett struct ma_state; 12*54a611b6SLiam R. Howlett 13*54a611b6SLiam R. Howlett TRACE_EVENT(ma_op, 14*54a611b6SLiam R. Howlett 15*54a611b6SLiam R. Howlett TP_PROTO(const char *fn, struct ma_state *mas), 16*54a611b6SLiam R. Howlett 17*54a611b6SLiam R. Howlett TP_ARGS(fn, mas), 18*54a611b6SLiam R. Howlett 19*54a611b6SLiam R. Howlett TP_STRUCT__entry( 20*54a611b6SLiam R. Howlett __field(const char *, fn) 21*54a611b6SLiam R. Howlett __field(unsigned long, min) 22*54a611b6SLiam R. Howlett __field(unsigned long, max) 23*54a611b6SLiam R. Howlett __field(unsigned long, index) 24*54a611b6SLiam R. Howlett __field(unsigned long, last) 25*54a611b6SLiam R. Howlett __field(void *, node) 26*54a611b6SLiam R. Howlett ), 27*54a611b6SLiam R. Howlett 28*54a611b6SLiam R. Howlett TP_fast_assign( 29*54a611b6SLiam R. Howlett __entry->fn = fn; 30*54a611b6SLiam R. Howlett __entry->min = mas->min; 31*54a611b6SLiam R. Howlett __entry->max = mas->max; 32*54a611b6SLiam R. Howlett __entry->index = mas->index; 33*54a611b6SLiam R. Howlett __entry->last = mas->last; 34*54a611b6SLiam R. Howlett __entry->node = mas->node; 35*54a611b6SLiam R. Howlett ), 36*54a611b6SLiam R. Howlett 37*54a611b6SLiam R. Howlett TP_printk("%s\tNode: %p (%lu %lu) range: %lu-%lu", 38*54a611b6SLiam R. Howlett __entry->fn, 39*54a611b6SLiam R. Howlett (void *) __entry->node, 40*54a611b6SLiam R. Howlett (unsigned long) __entry->min, 41*54a611b6SLiam R. Howlett (unsigned long) __entry->max, 42*54a611b6SLiam R. Howlett (unsigned long) __entry->index, 43*54a611b6SLiam R. Howlett (unsigned long) __entry->last 44*54a611b6SLiam R. Howlett ) 45*54a611b6SLiam R. Howlett ) 46*54a611b6SLiam R. Howlett TRACE_EVENT(ma_read, 47*54a611b6SLiam R. Howlett 48*54a611b6SLiam R. Howlett TP_PROTO(const char *fn, struct ma_state *mas), 49*54a611b6SLiam R. Howlett 50*54a611b6SLiam R. Howlett TP_ARGS(fn, mas), 51*54a611b6SLiam R. Howlett 52*54a611b6SLiam R. Howlett TP_STRUCT__entry( 53*54a611b6SLiam R. Howlett __field(const char *, fn) 54*54a611b6SLiam R. Howlett __field(unsigned long, min) 55*54a611b6SLiam R. Howlett __field(unsigned long, max) 56*54a611b6SLiam R. Howlett __field(unsigned long, index) 57*54a611b6SLiam R. Howlett __field(unsigned long, last) 58*54a611b6SLiam R. Howlett __field(void *, node) 59*54a611b6SLiam R. Howlett ), 60*54a611b6SLiam R. Howlett 61*54a611b6SLiam R. Howlett TP_fast_assign( 62*54a611b6SLiam R. Howlett __entry->fn = fn; 63*54a611b6SLiam R. Howlett __entry->min = mas->min; 64*54a611b6SLiam R. Howlett __entry->max = mas->max; 65*54a611b6SLiam R. Howlett __entry->index = mas->index; 66*54a611b6SLiam R. Howlett __entry->last = mas->last; 67*54a611b6SLiam R. Howlett __entry->node = mas->node; 68*54a611b6SLiam R. Howlett ), 69*54a611b6SLiam R. Howlett 70*54a611b6SLiam R. Howlett TP_printk("%s\tNode: %p (%lu %lu) range: %lu-%lu", 71*54a611b6SLiam R. Howlett __entry->fn, 72*54a611b6SLiam R. Howlett (void *) __entry->node, 73*54a611b6SLiam R. Howlett (unsigned long) __entry->min, 74*54a611b6SLiam R. Howlett (unsigned long) __entry->max, 75*54a611b6SLiam R. Howlett (unsigned long) __entry->index, 76*54a611b6SLiam R. Howlett (unsigned long) __entry->last 77*54a611b6SLiam R. Howlett ) 78*54a611b6SLiam R. Howlett ) 79*54a611b6SLiam R. Howlett 80*54a611b6SLiam R. Howlett TRACE_EVENT(ma_write, 81*54a611b6SLiam R. Howlett 82*54a611b6SLiam R. Howlett TP_PROTO(const char *fn, struct ma_state *mas, unsigned long piv, 83*54a611b6SLiam R. Howlett void *val), 84*54a611b6SLiam R. Howlett 85*54a611b6SLiam R. Howlett TP_ARGS(fn, mas, piv, val), 86*54a611b6SLiam R. Howlett 87*54a611b6SLiam R. Howlett TP_STRUCT__entry( 88*54a611b6SLiam R. Howlett __field(const char *, fn) 89*54a611b6SLiam R. Howlett __field(unsigned long, min) 90*54a611b6SLiam R. Howlett __field(unsigned long, max) 91*54a611b6SLiam R. Howlett __field(unsigned long, index) 92*54a611b6SLiam R. Howlett __field(unsigned long, last) 93*54a611b6SLiam R. Howlett __field(unsigned long, piv) 94*54a611b6SLiam R. Howlett __field(void *, val) 95*54a611b6SLiam R. Howlett __field(void *, node) 96*54a611b6SLiam R. Howlett ), 97*54a611b6SLiam R. Howlett 98*54a611b6SLiam R. Howlett TP_fast_assign( 99*54a611b6SLiam R. Howlett __entry->fn = fn; 100*54a611b6SLiam R. Howlett __entry->min = mas->min; 101*54a611b6SLiam R. Howlett __entry->max = mas->max; 102*54a611b6SLiam R. Howlett __entry->index = mas->index; 103*54a611b6SLiam R. Howlett __entry->last = mas->last; 104*54a611b6SLiam R. Howlett __entry->piv = piv; 105*54a611b6SLiam R. Howlett __entry->val = val; 106*54a611b6SLiam R. Howlett __entry->node = mas->node; 107*54a611b6SLiam R. Howlett ), 108*54a611b6SLiam R. Howlett 109*54a611b6SLiam R. Howlett TP_printk("%s\tNode %p (%lu %lu) range:%lu-%lu piv (%lu) val %p", 110*54a611b6SLiam R. Howlett __entry->fn, 111*54a611b6SLiam R. Howlett (void *) __entry->node, 112*54a611b6SLiam R. Howlett (unsigned long) __entry->min, 113*54a611b6SLiam R. Howlett (unsigned long) __entry->max, 114*54a611b6SLiam R. Howlett (unsigned long) __entry->index, 115*54a611b6SLiam R. Howlett (unsigned long) __entry->last, 116*54a611b6SLiam R. Howlett (unsigned long) __entry->piv, 117*54a611b6SLiam R. Howlett (void *) __entry->val 118*54a611b6SLiam R. Howlett ) 119*54a611b6SLiam R. Howlett ) 120*54a611b6SLiam R. Howlett #endif /* _TRACE_MM_H */ 121*54a611b6SLiam R. Howlett 122*54a611b6SLiam R. Howlett /* This part must be outside protection */ 123*54a611b6SLiam R. Howlett #include <trace/define_trace.h> 124