| Frederic Weisbecker | 96a2c46 | 2009-08-01 01:34:24 +0200 | [diff] [blame] | 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 |  | 
 | 9 | TRACE_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( | 
| Ingo Molnar | 434a83c | 2009-10-15 11:50:39 +0200 | [diff] [blame] | 16 | 		__field(	int,		depth			) | 
| Frederic Weisbecker | 96a2c46 | 2009-08-01 01:34:24 +0200 | [diff] [blame] | 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 */ | 
| Ingo Molnar | 434a83c | 2009-10-15 11:50:39 +0200 | [diff] [blame] | 24 | 		__entry->depth = current->lock_depth + 1; | 
| Frederic Weisbecker | 96a2c46 | 2009-08-01 01:34:24 +0200 | [diff] [blame] | 25 | 		__entry->func = func; | 
 | 26 | 		__entry->file = file; | 
 | 27 | 		__entry->line = line; | 
 | 28 | 	), | 
 | 29 |  | 
| Ingo Molnar | 434a83c | 2009-10-15 11:50:39 +0200 | [diff] [blame] | 30 | 	TP_printk("depth=%d file:line=%s:%d func=%s()", __entry->depth, | 
| Frederic Weisbecker | 96a2c46 | 2009-08-01 01:34:24 +0200 | [diff] [blame] | 31 | 		  __entry->file, __entry->line, __entry->func) | 
 | 32 | ); | 
 | 33 |  | 
 | 34 | TRACE_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( | 
| Ingo Molnar | 434a83c | 2009-10-15 11:50:39 +0200 | [diff] [blame] | 41 | 		__field(int,		depth		) | 
 | 42 | 		__field(const char *,	func		) | 
 | 43 | 		__field(const char *,	file		) | 
 | 44 | 		__field(int,		line		) | 
| Frederic Weisbecker | 96a2c46 | 2009-08-01 01:34:24 +0200 | [diff] [blame] | 45 | 	), | 
 | 46 |  | 
 | 47 | 	TP_fast_assign( | 
| Ingo Molnar | 434a83c | 2009-10-15 11:50:39 +0200 | [diff] [blame] | 48 | 		__entry->depth = current->lock_depth; | 
| Frederic Weisbecker | 96a2c46 | 2009-08-01 01:34:24 +0200 | [diff] [blame] | 49 | 		__entry->func = func; | 
 | 50 | 		__entry->file = file; | 
 | 51 | 		__entry->line = line; | 
 | 52 | 	), | 
 | 53 |  | 
| Ingo Molnar | 434a83c | 2009-10-15 11:50:39 +0200 | [diff] [blame] | 54 | 	TP_printk("depth=%d file:line=%s:%d func=%s()", __entry->depth, | 
| Frederic Weisbecker | 96a2c46 | 2009-08-01 01:34:24 +0200 | [diff] [blame] | 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> |