Skip to content

Commit

Permalink
tracing: Factorize lock events in a lock class
Browse files Browse the repository at this point in the history
lock_acquired, lock_contended and lock_release now share the
same prototype and format. Let's factorize them into a lock
event class.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
Cc: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
Frederic Weisbecker committed May 9, 2010
1 parent 9313543 commit 2c193c7
Showing 1 changed file with 15 additions and 33 deletions.
48 changes: 15 additions & 33 deletions include/trace/events/lock.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,64 +35,46 @@ TRACE_EVENT(lock_acquire,
__get_str(name))
);

TRACE_EVENT(lock_release,
DECLARE_EVENT_CLASS(lock,

TP_PROTO(struct lockdep_map *lock, unsigned long ip),

TP_ARGS(lock, ip),

TP_STRUCT__entry(
__string(name, lock->name)
__field(void *, lockdep_addr)
__string( name, lock->name )
__field( void *, lockdep_addr )
),

TP_fast_assign(
__assign_str(name, lock->name);
__entry->lockdep_addr = lock;
),

TP_printk("%p %s",
__entry->lockdep_addr, __get_str(name))
TP_printk("%p %s", __entry->lockdep_addr, __get_str(name))
);

#ifdef CONFIG_LOCK_STAT

TRACE_EVENT(lock_contended,
DEFINE_EVENT(lock, lock_release,

TP_PROTO(struct lockdep_map *lock, unsigned long ip),

TP_ARGS(lock, ip),

TP_STRUCT__entry(
__string(name, lock->name)
__field(void *, lockdep_addr)
),
TP_ARGS(lock, ip)
);

TP_fast_assign(
__assign_str(name, lock->name);
__entry->lockdep_addr = lock;
),
#ifdef CONFIG_LOCK_STAT

TP_printk("%p %s",
__entry->lockdep_addr, __get_str(name))
);
DEFINE_EVENT(lock, lock_contended,

TRACE_EVENT(lock_acquired,
TP_PROTO(struct lockdep_map *lock, unsigned long ip),

TP_ARGS(lock, ip),
TP_ARGS(lock, ip)
);

TP_STRUCT__entry(
__string(name, lock->name)
__field(void *, lockdep_addr)
),
DEFINE_EVENT(lock, lock_acquired,

TP_fast_assign(
__assign_str(name, lock->name);
__entry->lockdep_addr = lock;
),
TP_printk("%p %s", __entry->lockdep_addr,
__get_str(name))
TP_PROTO(struct lockdep_map *lock, unsigned long ip),

TP_ARGS(lock, ip)
);

#endif
Expand Down

0 comments on commit 2c193c7

Please sign in to comment.