]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
tracing/lock: provide lock_acquired event support for dynamic size string
authorFrederic Weisbecker <fweisbec@gmail.com>
Sun, 19 Apr 2009 02:54:49 +0000 (04:54 +0200)
committerIngo Molnar <mingo@elte.hu>
Wed, 22 Apr 2009 10:30:15 +0000 (12:30 +0200)
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: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
include/trace/events/lockdep.h

index 45e326b5c7f3e69b81e1453782090e3b7c903433..3ca315c1429da81da582be28194ecb959dff7fd5 100644 (file)
@@ -38,16 +38,16 @@ TRACE_EVENT(lock_acquired,
        TP_ARGS(lock, ip, waittime),
 
        TP_STRUCT__entry(
-               __field(const char *, name)
+               __string(name, lock->name)
                __field(unsigned long, wait_usec)
                __field(unsigned long, wait_nsec_rem)
        ),
        TP_fast_assign(
-               __entry->name = lock->name;
+               __assign_str(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,
+       TP_printk("%s (%lu.%03lu us)", __get_str(name), __entry->wait_usec,
                                       __entry->wait_nsec_rem)
 );