1#undef TRACE_SYSTEM 2#define TRACE_SYSTEM bkl 3 4#if !defined(_TRACE_BKL_H) || defined(TRACE_HEADER_MULTI_READ) 5#define _TRACE_BKL_H 6 7#include <linux/tracepoint.h> 8 9TRACE_EVENT(lock_kernel, 10 11 TP_PROTO(const char *func, const char *file, int line), 12 13 TP_ARGS(func, file, line), 14 15 TP_STRUCT__entry( 16 __field( int, depth ) 17 __field_ext( const char *, func, FILTER_PTR_STRING ) 18 __field_ext( const char *, file, FILTER_PTR_STRING ) 19 __field( int, line ) 20 ), 21 22 TP_fast_assign( 23 /* We want to record the lock_depth after lock is acquired */ 24 __entry->depth = current->lock_depth + 1; 25 __entry->func = func; 26 __entry->file = file; 27 __entry->line = line; 28 ), 29 30 TP_printk("depth=%d file:line=%s:%d func=%s()", __entry->depth, 31 __entry->file, __entry->line, __entry->func) 32); 33 34TRACE_EVENT(unlock_kernel, 35 36 TP_PROTO(const char *func, const char *file, int line), 37 38 TP_ARGS(func, file, line), 39 40 TP_STRUCT__entry( 41 __field(int, depth ) 42 __field(const char *, func ) 43 __field(const char *, file ) 44 __field(int, line ) 45 ), 46 47 TP_fast_assign( 48 __entry->depth = current->lock_depth; 49 __entry->func = func; 50 __entry->file = file; 51 __entry->line = line; 52 ), 53 54 TP_printk("depth=%d file:line=%s:%d func=%s()", __entry->depth, 55 __entry->file, __entry->line, __entry->func) 56); 57 58#endif /* _TRACE_BKL_H */ 59 60/* This part must be outside protection */ 61#include <trace/define_trace.h> 62