|
|
@@ -32,11 +32,24 @@ TRACE_FORMAT(lock_contended,
|
|
|
TP_FMT("%s", lock->name)
|
|
|
);
|
|
|
|
|
|
-TRACE_FORMAT(lock_acquired,
|
|
|
- TP_PROTO(struct lockdep_map *lock, unsigned long ip),
|
|
|
- TP_ARGS(lock, ip),
|
|
|
- TP_FMT("%s", lock->name)
|
|
|
- );
|
|
|
+TRACE_EVENT(lock_acquired,
|
|
|
+ TP_PROTO(struct lockdep_map *lock, unsigned long ip, s64 waittime),
|
|
|
+
|
|
|
+ TP_ARGS(lock, ip, waittime),
|
|
|
+
|
|
|
+ TP_STRUCT__entry(
|
|
|
+ __field(const char *, name)
|
|
|
+ __field(unsigned long, wait_usec)
|
|
|
+ __field(unsigned long, wait_nsec_rem)
|
|
|
+ ),
|
|
|
+ TP_fast_assign(
|
|
|
+ __entry->name = lock->name;
|
|
|
+ __entry->wait_nsec_rem = do_div(waittime, NSEC_PER_USEC);
|
|
|
+ __entry->wait_usec = (unsigned long) waittime;
|
|
|
+ ),
|
|
|
+ TP_printk("%s (%lu.%03lu us)", __entry->name, __entry->wait_usec,
|
|
|
+ __entry->wait_nsec_rem)
|
|
|
+);
|
|
|
|
|
|
#endif
|
|
|
#endif
|