lkml.org 
[lkml]   [2009]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 1/5] tracing/lockdep: convert lockdep to use TRACE_EVENT macro
    From: Steven Rostedt <srostedt@redhat.com>

    The TRACE_FORMAT will soon be deprecated. This patch converts it to
    the TRACE_EVENT macro.

    Note, this change should also speed up the tracing.

    [ Impact: remove a user of deprecated TRACE_FORMAT ]

    Cc: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    include/trace/events/lockdep.h | 56 ++++++++++++++++++++++++++++++++-------
    1 files changed, 46 insertions(+), 10 deletions(-)

    diff --git a/include/trace/events/lockdep.h b/include/trace/events/lockdep.h
    index 3ca315c..0e956c9 100644
    --- a/include/trace/events/lockdep.h
    +++ b/include/trace/events/lockdep.h
    @@ -9,28 +9,64 @@

    #ifdef CONFIG_LOCKDEP

    -TRACE_FORMAT(lock_acquire,
    +TRACE_EVENT(lock_acquire,
    +
    TP_PROTO(struct lockdep_map *lock, unsigned int subclass,
    int trylock, int read, int check,
    struct lockdep_map *next_lock, unsigned long ip),
    +
    TP_ARGS(lock, subclass, trylock, read, check, next_lock, ip),
    - TP_FMT("%s%s%s", trylock ? "try " : "",
    - read ? "read " : "", lock->name)
    - );

    -TRACE_FORMAT(lock_release,
    + TP_STRUCT__entry(
    + __field(unsigned int, flags)
    + __string(name, lock->name)
    + ),
    +
    + TP_fast_assign(
    + __entry->flags = (trylock ? 1 : 0) | (read ? 2 : 0);
    + __assign_str(name, lock->name);
    + ),
    +
    + TP_printk("%s%s%s", (__entry->flags & 1) ? "try " : "",
    + (__entry->flags & 2) ? "read " : "",
    + __get_str(name))
    +);
    +
    +TRACE_EVENT(lock_release,
    +
    TP_PROTO(struct lockdep_map *lock, int nested, unsigned long ip),
    +
    TP_ARGS(lock, nested, ip),
    - TP_FMT("%s", lock->name)
    - );
    +
    + TP_STRUCT__entry(
    + __string(name, lock->name)
    + ),
    +
    + TP_fast_assign(
    + __assign_str(name, lock->name);
    + ),
    +
    + TP_printk("%s", __get_str(name))
    +);

    #ifdef CONFIG_LOCK_STAT

    -TRACE_FORMAT(lock_contended,
    +TRACE_EVENT(lock_contended,
    +
    TP_PROTO(struct lockdep_map *lock, unsigned long ip),
    +
    TP_ARGS(lock, ip),
    - TP_FMT("%s", lock->name)
    - );
    +
    + TP_STRUCT__entry(
    + __string(name, lock->name)
    + ),
    +
    + TP_fast_assign(
    + __assign_str(name, lock->name);
    + ),
    +
    + TP_printk("%s", __get_str(name))
    +);

    TRACE_EVENT(lock_acquired,
    TP_PROTO(struct lockdep_map *lock, unsigned long ip, s64 waittime),
    --
    1.6.2.1
    --


    \
     
     \ /
      Last update: 2009-04-25 06:29    [W:0.024 / U:61.824 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site