Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
trace
events
lock.h
Go to the documentation of this file.
1
#undef TRACE_SYSTEM
2
#define TRACE_SYSTEM lock
3
4
#if !defined(_TRACE_LOCK_H) || defined(TRACE_HEADER_MULTI_READ)
5
#define _TRACE_LOCK_H
6
7
#include <
linux/lockdep.h
>
8
#include <
linux/tracepoint.h
>
9
10
#ifdef CONFIG_LOCKDEP
11
12
TRACE_EVENT
(
lock_acquire
,
13
14
TP_PROTO
(
struct
lockdep_map *
lock
,
unsigned
int
subclass
,
15
int
trylock,
int
read
,
int
check
,
16
struct
lockdep_map *next_lock,
unsigned
long
ip
),
17
18
TP_ARGS
(lock, subclass, trylock, read, check, next_lock, ip),
19
20
TP_STRUCT__entry
(
21
__field
(
unsigned
int
,
flags
)
22
__string
(
name
, lock->name)
23
__field
(
void
*, lockdep_addr)
24
),
25
26
TP_fast_assign
(
27
__entry
->flags = (trylock ? 1 : 0) | (read ? 2 : 0);
28
__assign_str
(
name
, lock->name);
29
__entry
->lockdep_addr = lock;
30
),
31
32
TP_printk
(
"%p %s%s%s"
,
__entry
->lockdep_addr,
33
(
__entry
->flags & 1) ?
"try "
:
""
,
34
(
__entry
->flags & 2) ?
"read "
:
""
,
35
__get_str
(
name
))
36
);
37
38
DECLARE_EVENT_CLASS
(lock,
39
40
TP_PROTO
(
struct
lockdep_map *lock,
unsigned
long
ip),
41
42
TP_ARGS
(lock, ip),
43
44
TP_STRUCT__entry
(
45
__string
(
name
, lock->name )
46
__field
(
void
*, lockdep_addr )
47
),
48
49
TP_fast_assign
(
50
__assign_str
(
name
, lock->name);
51
__entry
->lockdep_addr = lock;
52
),
53
54
TP_printk
(
"%p %s"
,
__entry
->lockdep_addr,
__get_str
(
name
))
55
);
56
57
DEFINE_EVENT
(lock,
lock_release
,
58
59
TP_PROTO
(
struct
lockdep_map *lock,
unsigned
long
ip),
60
61
TP_ARGS
(lock, ip)
62
);
63
64
#ifdef CONFIG_LOCK_STAT
65
66
DEFINE_EVENT
(lock,
lock_contended
,
67
68
TP_PROTO
(
struct
lockdep_map *lock,
unsigned
long
ip),
69
70
TP_ARGS
(lock, ip)
71
);
72
73
DEFINE_EVENT
(lock,
lock_acquired
,
74
75
TP_PROTO
(
struct
lockdep_map *lock,
unsigned
long
ip),
76
77
TP_ARGS
(lock, ip)
78
);
79
80
#endif
81
#endif
82
83
#endif
/* _TRACE_LOCK_H */
84
85
/* This part must be outside protection */
86
#include <
trace/define_trace.h
>
Generated on Thu Jan 10 2013 14:46:28 for Linux Kernel by
1.8.2