Re: [V2 1/2] sched: add trace events for task and rq usage tracking

From: Lei Wen
Date: Mon Jul 01 2013 - 09:25:37 EST


Hi Peter,

On Mon, Jul 1, 2013 at 8:44 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Mon, Jul 01, 2013 at 08:33:21PM +0800, Lei Wen wrote:
>> Since we could track task in the entity level now, we may want to
>> investigate tasks' running status by recording the trace info, so that
>> could make some tuning if needed.
>
> Why would I want to merge this?

With the merged trace point like those, we could then draw the load
distribution picture easily.

>
>
>> + trace_sched_task_weighted_load(task_of(se), se->avg.load_avg_contrib, se->load.weight);
>> + trace_sched_task_weighted_load(task_of(se), se->avg.load_avg_contrib, se->load.weight);
>
>> + trace_sched_cfs_rq_runnable_load(cpu_of(rq_of(cfs_rq)),
>> + cfs_rq->runnable_load_avg, cfs_rq->load.weight);
>
>> + trace_sched_cfs_rq_blocked_load(cpu_of(rq_of(cfs_rq)),
>> + cfs_rq->blocked_load_avg,
>> + cfs_rq->blocked_load_avg + cfs_rq->runnable_load_avg);
>
>> + trace_sched_cfs_rq_blocked_load(cpu_of(rq_of(cfs_rq)),
>> + cfs_rq->blocked_load_avg,
>> + cfs_rq->blocked_load_avg + cfs_rq->runnable_load_avg);
>
>> + trace_sched_cfs_rq_blocked_load(cpu_of(rq_of(cfs_rq)),
>> + cfs_rq->blocked_load_avg,
>> + cfs_rq->blocked_load_avg + cfs_rq->runnable_load_avg);
>
>> + trace_sched_cfs_rq_runnable_load(cpu_of(rq_of(cfs_rq)),
>> + cfs_rq->runnable_load_avg, cfs_rq->load.weight);
>
>> + trace_sched_cfs_rq_blocked_load(cpu_of(rq_of(cfs_rq)),
>> + cfs_rq->blocked_load_avg,
>> + cfs_rq->blocked_load_avg + cfs_rq->runnable_load_avg);
>
>> + trace_sched_cfs_rq_blocked_load(cpu_of(rq_of(cfs_rq)),
>> + cfs_rq->blocked_load_avg,
>> + cfs_rq->blocked_load_avg + cfs_rq->runnable_load_avg);
>
>> + trace_sched_cfs_rq_blocked_load(cpu_of(rq_of(cfs_rq)),
>> + cfs_rq->blocked_load_avg,
>> + cfs_rq->blocked_load_avg + cfs_rq->runnable_load_avg);
>
> You're not lazy enough by far, you seem to delight in endless repetition :/

Yep, I already notice this duplicated...


>
> How about you first convince me we actually want to merge this; big hint,
> there's a significant lack of tracepoints in the entire balancer.

You already said what I want to say. :)
With the pre-embedded tracepoint, we could make our life easy over tracking
the system load, especially since the per-entity load tracking is
recently added,
people may want to use those trace point to get better understanding for
this new feature.

>
> Secondly; WTH didn't you do:
>
> trace_sched_task_weighted_load(se);
> trace_sched_cfs_rq_runnable_load(cfs_rq);
> trace_sched_cfs_rq_blocked_load(cfs_rq);

So cleaner than my previous one!

>
> The tracepoints themselves could very well extract whatever they want from
> that; no need to actually write it out.
> --
> 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/
--
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/