Commit 7e7ca9a2 authored by Frederic Weisbecker's avatar Frederic Weisbecker Committed by Ingo Molnar

tracing/lock: provide lock_acquired event support for dynamic size string

Now that we can support the dynamic sized string, make the lock tracing
able to use it, making it safe against modules removal and consuming
the right amount of memory needed for each lock name

Changes in v2:
adapt to the __ending_string() updates and the opening_string() removal.

[ Impact: protect lock tracer against module removal ]
Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
parent 9cbf1176
...@@ -38,16 +38,16 @@ TRACE_EVENT(lock_acquired, ...@@ -38,16 +38,16 @@ TRACE_EVENT(lock_acquired,
TP_ARGS(lock, ip, waittime), TP_ARGS(lock, ip, waittime),
TP_STRUCT__entry( TP_STRUCT__entry(
__field(const char *, name) __string(name, lock->name)
__field(unsigned long, wait_usec) __field(unsigned long, wait_usec)
__field(unsigned long, wait_nsec_rem) __field(unsigned long, wait_nsec_rem)
), ),
TP_fast_assign( TP_fast_assign(
__entry->name = lock->name; __assign_str(name, lock->name);
__entry->wait_nsec_rem = do_div(waittime, NSEC_PER_USEC); __entry->wait_nsec_rem = do_div(waittime, NSEC_PER_USEC);
__entry->wait_usec = (unsigned long) waittime; __entry->wait_usec = (unsigned long) waittime;
), ),
TP_printk("%s (%lu.%03lu us)", __entry->name, __entry->wait_usec, TP_printk("%s (%lu.%03lu us)", __get_str(name), __entry->wait_usec,
__entry->wait_nsec_rem) __entry->wait_nsec_rem)
); );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment