blob: 1af72dc2427881d203c1984081e4691d23bc0c30 [file] [log] [blame]
Frederic Weisbecker96a2c462009-08-01 01:34:24 +02001#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(
Ingo Molnar434a83c2009-10-15 11:50:39 +020016 __field( int, depth )
Frederic Weisbecker96a2c462009-08-01 01:34:24 +020017 __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 Molnar434a83c2009-10-15 11:50:39 +020024 __entry->depth = current->lock_depth + 1;
Frederic Weisbecker96a2c462009-08-01 01:34:24 +020025 __entry->func = func;
26 __entry->file = file;
27 __entry->line = line;
28 ),
29
Ingo Molnar434a83c2009-10-15 11:50:39 +020030 TP_printk("depth=%d file:line=%s:%d func=%s()", __entry->depth,
Frederic Weisbecker96a2c462009-08-01 01:34:24 +020031 __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(
Ingo Molnar434a83c2009-10-15 11:50:39 +020041 __field(int, depth )
42 __field(const char *, func )
43 __field(const char *, file )
44 __field(int, line )
Frederic Weisbecker96a2c462009-08-01 01:34:24 +020045 ),
46
47 TP_fast_assign(
Ingo Molnar434a83c2009-10-15 11:50:39 +020048 __entry->depth = current->lock_depth;
Frederic Weisbecker96a2c462009-08-01 01:34:24 +020049 __entry->func = func;
50 __entry->file = file;
51 __entry->line = line;
52 ),
53
Ingo Molnar434a83c2009-10-15 11:50:39 +020054 TP_printk("depth=%d file:line=%s:%d func=%s()", __entry->depth,
Frederic Weisbecker96a2c462009-08-01 01:34:24 +020055 __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>