All of lore.kernel.org
 help / color / mirror / Atom feed
* No definition of trace_sched_stat_wait in kernel found!
@ 2010-07-28  9:49 Jack Daniel
  2010-07-28 10:17 ` Li Zefan
  0 siblings, 1 reply; 3+ messages in thread
From: Jack Daniel @ 2010-07-28  9:49 UTC (permalink / raw)
  To: LKML

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.

Thanks,
Jack

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: No definition of trace_sched_stat_wait in kernel found!
  2010-07-28  9:49 No definition of trace_sched_stat_wait in kernel found! Jack Daniel
@ 2010-07-28 10:17 ` Li Zefan
  2010-07-28 10:23   ` Jack Daniel
  0 siblings, 1 reply; 3+ messages in thread
From: Li Zefan @ 2010-07-28 10:17 UTC (permalink / raw)
  To: Jack Daniel; +Cc: LKML

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));                    \
        }
	...

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: No definition of trace_sched_stat_wait in kernel found!
  2010-07-28 10:17 ` Li Zefan
@ 2010-07-28 10:23   ` Jack Daniel
  0 siblings, 0 replies; 3+ messages in thread
From: Jack Daniel @ 2010-07-28 10:23 UTC (permalink / raw)
  To: Li Zefan; +Cc: LKML

On Wed, Jul 28, 2010 at 3:47 PM, Li Zefan <lizf@cn.fujitsu.com> wrote:
> 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));                    \
>        }
>        ...
>

AH! thanks a lot for pointing this out.

Regards,
Jack

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-07-28 10:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-28  9:49 No definition of trace_sched_stat_wait in kernel found! Jack Daniel
2010-07-28 10:17 ` Li Zefan
2010-07-28 10:23   ` Jack Daniel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.