mirror of https://gitee.com/openkylin/linux.git
tracing: Factorize lock events in a lock class
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>
This commit is contained in:
parent
9313543945
commit
2c193c7368
|
@ -35,15 +35,15 @@ 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(
|
||||
|
@ -51,48 +51,30 @@ TRACE_EVENT(lock_release,
|
|||
__entry->lockdep_addr = lock;
|
||||
),
|
||||
|
||||
TP_printk("%p %s",
|
||||
__entry->lockdep_addr, __get_str(name))
|
||||
TP_printk("%p %s", __entry->lockdep_addr, __get_str(name))
|
||||
);
|
||||
|
||||
DEFINE_EVENT(lock, lock_release,
|
||||
|
||||
TP_PROTO(struct lockdep_map *lock, unsigned long ip),
|
||||
|
||||
TP_ARGS(lock, ip)
|
||||
);
|
||||
|
||||
#ifdef CONFIG_LOCK_STAT
|
||||
|
||||
TRACE_EVENT(lock_contended,
|
||||
DEFINE_EVENT(lock, lock_contended,
|
||||
|
||||
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_fast_assign(
|
||||
__assign_str(name, lock->name);
|
||||
__entry->lockdep_addr = lock;
|
||||
),
|
||||
|
||||
TP_printk("%p %s",
|
||||
__entry->lockdep_addr, __get_str(name))
|
||||
TP_ARGS(lock, ip)
|
||||
);
|
||||
|
||||
TRACE_EVENT(lock_acquired,
|
||||
DEFINE_EVENT(lock, lock_acquired,
|
||||
|
||||
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_fast_assign(
|
||||
__assign_str(name, lock->name);
|
||||
__entry->lockdep_addr = lock;
|
||||
),
|
||||
TP_printk("%p %s", __entry->lockdep_addr,
|
||||
__get_str(name))
|
||||
TP_ARGS(lock, ip)
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue