tracing: introduce TRACE_EVENT_NOP()
Sometimes we want to define a tracepoint as a do-nothing function. So I introduce TRACE_EVENT_NOP, DECLARE_EVENT_CLASS_NOP and DEFINE_EVENT_NOP for this kind of usage. Link: http://lkml.kernel.org/r/1553602391-11926-2-git-send-email-laoar.shao@gmail.com Signed-off-by: Yafang Shao <laoar.shao@gmail.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
a8d655792a
commit
163363455b
|
@ -548,4 +548,19 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p)
|
|||
|
||||
#define TRACE_EVENT_PERF_PERM(event, expr...)
|
||||
|
||||
#define DECLARE_EVENT_NOP(name, proto, args) \
|
||||
static inline void trace_##name(proto) \
|
||||
{ } \
|
||||
static inline bool trace_##name##_enabled(void) \
|
||||
{ \
|
||||
return false; \
|
||||
}
|
||||
|
||||
#define TRACE_EVENT_NOP(name, proto, args, struct, assign, print) \
|
||||
DECLARE_EVENT_NOP(name, PARAMS(proto), PARAMS(args))
|
||||
|
||||
#define DECLARE_EVENT_CLASS_NOP(name, proto, args, tstruct, assign, print)
|
||||
#define DEFINE_EVENT_NOP(template, name, proto, args) \
|
||||
DECLARE_EVENT_NOP(name, PARAMS(proto), PARAMS(args))
|
||||
|
||||
#endif /* ifdef TRACE_EVENT (see note above) */
|
||||
|
|
|
@ -46,6 +46,12 @@
|
|||
assign, print, reg, unreg) \
|
||||
DEFINE_TRACE_FN(name, reg, unreg)
|
||||
|
||||
#undef TRACE_EVENT_NOP
|
||||
#define TRACE_EVENT_NOP(name, proto, args, struct, assign, print)
|
||||
|
||||
#undef DEFINE_EVENT_NOP
|
||||
#define DEFINE_EVENT_NOP(template, name, proto, args)
|
||||
|
||||
#undef DEFINE_EVENT
|
||||
#define DEFINE_EVENT(template, name, proto, args) \
|
||||
DEFINE_TRACE(name)
|
||||
|
@ -102,6 +108,8 @@
|
|||
#undef TRACE_EVENT_FN
|
||||
#undef TRACE_EVENT_FN_COND
|
||||
#undef TRACE_EVENT_CONDITION
|
||||
#undef TRACE_EVENT_NOP
|
||||
#undef DEFINE_EVENT_NOP
|
||||
#undef DECLARE_EVENT_CLASS
|
||||
#undef DEFINE_EVENT
|
||||
#undef DEFINE_EVENT_FN
|
||||
|
|
Loading…
Reference in New Issue