diff options
author | Ken Chen <kenchen@google.com> | 2008-12-16 23:41:22 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-12-18 13:54:01 +0100 |
commit | 9c2c48020ec0dd6ecd27e5a1298f73b40d85a595 (patch) | |
tree | 1a44f56e18012120aff0969094eebd572deb2ea3 /kernel/sched_stats.h | |
parent | e9515c3c9feecd74174c2998add0db51e02abb8d (diff) | |
download | talos-obmc-linux-9c2c48020ec0dd6ecd27e5a1298f73b40d85a595.tar.gz talos-obmc-linux-9c2c48020ec0dd6ecd27e5a1298f73b40d85a595.zip |
schedstat: consolidate per-task cpu runtime stats
Impact: simplify code
When we turn on CONFIG_SCHEDSTATS, per-task cpu runtime is accumulated
twice. Once in task->se.sum_exec_runtime and once in sched_info.cpu_time.
These two stats are exactly the same.
Given that task->se.sum_exec_runtime is always accumulated by the core
scheduler, sched_info can reuse that data instead of duplicate the accounting.
Signed-off-by: Ken Chen <kenchen@google.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched_stats.h')
-rw-r--r-- | kernel/sched_stats.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/sched_stats.h b/kernel/sched_stats.h index 7dbf72a2b02c..3b01098164c8 100644 --- a/kernel/sched_stats.h +++ b/kernel/sched_stats.h @@ -31,7 +31,7 @@ static int show_schedstat(struct seq_file *seq, void *v) rq->yld_act_empty, rq->yld_exp_empty, rq->yld_count, rq->sched_switch, rq->sched_count, rq->sched_goidle, rq->ttwu_count, rq->ttwu_local, - rq->rq_sched_info.cpu_time, + rq->rq_cpu_time, rq->rq_sched_info.run_delay, rq->rq_sched_info.pcount); seq_printf(seq, "\n"); @@ -123,7 +123,7 @@ static inline void rq_sched_info_depart(struct rq *rq, unsigned long long delta) { if (rq) - rq->rq_sched_info.cpu_time += delta; + rq->rq_cpu_time += delta; } static inline void @@ -236,7 +236,6 @@ static inline void sched_info_depart(struct task_struct *t) unsigned long long delta = task_rq(t)->clock - t->sched_info.last_arrival; - t->sched_info.cpu_time += delta; rq_sched_info_depart(task_rq(t), delta); if (t->state == TASK_RUNNING) |