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

From: Peter Zijlstra
Date: Mon Jul 01 2013 - 08:44:54 EST


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?


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

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.

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);

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/