Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at beda2c7ea2c15ed01eef00a997d2b0496c3a502d 96 lines 2.0 kB view raw
1#undef TRACE_SYSTEM 2#define TRACE_SYSTEM lockdep 3 4#if !defined(_TRACE_LOCKDEP_H) || defined(TRACE_HEADER_MULTI_READ) 5#define _TRACE_LOCKDEP_H 6 7#include <linux/lockdep.h> 8#include <linux/tracepoint.h> 9 10#ifdef CONFIG_LOCKDEP 11 12TRACE_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 ), 24 25 TP_fast_assign( 26 __entry->flags = (trylock ? 1 : 0) | (read ? 2 : 0); 27 __assign_str(name, lock->name); 28 ), 29 30 TP_printk("%s%s%s", (__entry->flags & 1) ? "try " : "", 31 (__entry->flags & 2) ? "read " : "", 32 __get_str(name)) 33); 34 35TRACE_EVENT(lock_release, 36 37 TP_PROTO(struct lockdep_map *lock, int nested, unsigned long ip), 38 39 TP_ARGS(lock, nested, ip), 40 41 TP_STRUCT__entry( 42 __string(name, lock->name) 43 ), 44 45 TP_fast_assign( 46 __assign_str(name, lock->name); 47 ), 48 49 TP_printk("%s", __get_str(name)) 50); 51 52#ifdef CONFIG_LOCK_STAT 53 54TRACE_EVENT(lock_contended, 55 56 TP_PROTO(struct lockdep_map *lock, unsigned long ip), 57 58 TP_ARGS(lock, ip), 59 60 TP_STRUCT__entry( 61 __string(name, lock->name) 62 ), 63 64 TP_fast_assign( 65 __assign_str(name, lock->name); 66 ), 67 68 TP_printk("%s", __get_str(name)) 69); 70 71TRACE_EVENT(lock_acquired, 72 TP_PROTO(struct lockdep_map *lock, unsigned long ip, s64 waittime), 73 74 TP_ARGS(lock, ip, waittime), 75 76 TP_STRUCT__entry( 77 __string(name, lock->name) 78 __field(unsigned long, wait_usec) 79 __field(unsigned long, wait_nsec_rem) 80 ), 81 TP_fast_assign( 82 __assign_str(name, lock->name); 83 __entry->wait_nsec_rem = do_div(waittime, NSEC_PER_USEC); 84 __entry->wait_usec = (unsigned long) waittime; 85 ), 86 TP_printk("%s (%lu.%03lu us)", __get_str(name), __entry->wait_usec, 87 __entry->wait_nsec_rem) 88); 89 90#endif 91#endif 92 93#endif /* _TRACE_LOCKDEP_H */ 94 95/* This part must be outside protection */ 96#include <trace/define_trace.h>