Re: [PATCH 1/2] sched: Some sched trace points should depend on SCHEDSTATS

From: Oliver Yang
Date: Tue Aug 04 2015 - 03:01:51 EST




On 2015/8/4 1:34, Steven Rostedt wrote:
> On Mon, 27 Jul 2015 09:11:51 -0400
> yangoliver <yang_oliver@xxxxxxxxxxx> wrote:
>
>> When SCHEDSTATS is not enabled, follow trace points shouldn't be
>> accessed by default,
>>
>> sched:sched_stat_wait
>> sched:sched_stat_sleep
>> sched:sched_stat_iowait
>> sched:sched_stat_blocked
>>
>> These trace points should only be available when SCHEDSTATS is
>> enabled.
>>
>> Signed-off-by: Yong Yang <yangoliver@xxxxxxxxx>
>> ---
>> include/trace/events/sched.h | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h
>> index d57a575..5b34309 100644
>> --- a/include/trace/events/sched.h
>> +++ b/include/trace/events/sched.h
>> @@ -334,6 +334,7 @@ DECLARE_EVENT_CLASS(sched_stat_template,
>> );
>>
>>
>> +#ifdef CONFIG_SCHEDSTATS
> Why not also surround the sched_stat_template too? That also creates
> code even if no event uses it.
Steve,

Because the sched_stat_template is used by sched_stat_runtime.
The sched_stat_runtime is used event without SCHEDSTATS option enabled.

And the se.sum_exec_runtime counter is also similar. I don't think this counter is
defined for SCHEDSTATS.

Yes. I just try to make our trace points design be similar with SCHEDSTATS counters
design.

> -- Steve
>
>> /*
>> * Tracepoint for accounting wait time (time the task is runnable
>> * but not actually running due to scheduler contention).
>> @@ -364,6 +365,7 @@ DEFINE_EVENT(sched_stat_template, sched_stat_iowait,
>> DEFINE_EVENT(sched_stat_template, sched_stat_blocked,
>> TP_PROTO(struct task_struct *tsk, u64 delay),
>> TP_ARGS(tsk, delay));
>> +#endif
>>
>> /*
>> * Tracepoint for accounting runtime (time the task is executing

--
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/