Re: No definition of trace_sched_stat_wait in kernel found!

From: Li Zefan
Date: Wed Jul 28 2010 - 06:13:06 EST


Jack Daniel wrote:
> Greetings,
>
> With reference to the function update_stats_wait_end(), there seems to
> be a call to trace_sched_stat_wait(). But strangely I can find no
> definition of this function even though the kernel compiles without
> any errors. There is no reference to this function
> trace_sched_stat_wait() in the System.map file either, which means
> this is not getting compiled? Could someone please make sense of this
> absurdity.
>

It's generated in include/trace/events/sched.h:

DEFINE_EVENT(sched_stat_template, sched_stat_wait,
TP_PROTO(struct task_struct *tsk, u64 delay),
TP_ARGS(tsk, delay));


And the trace_xxx() function is defined by macros in include/linux/tracepoint.h:

#define __DECLARE_TRACE(name, proto, args, data_proto, data_args) \
extern struct tracepoint __tracepoint_##name; \
static inline void trace_##name(proto) \
{ \
if (unlikely(__tracepoint_##name.state)) \
__DO_TRACE(&__tracepoint_##name, \
TP_PROTO(data_proto), \
TP_ARGS(data_args)); \
}
...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/