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.c | |
parent | e9515c3c9feecd74174c2998add0db51e02abb8d (diff) | |
download | lwn-9c2c48020ec0dd6ecd27e5a1298f73b40d85a595.tar.gz lwn-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.c')
-rw-r--r-- | kernel/sched.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index f53e2b8ef521..fd835fc320b8 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -596,6 +596,8 @@ struct rq { #ifdef CONFIG_SCHEDSTATS /* latency stats */ struct sched_info rq_sched_info; + unsigned long long rq_cpu_time; + /* could above be rq->cfs_rq.exec_clock + rq->rt_rq.rt_runtime ? */ /* sys_sched_yield() stats */ unsigned int yld_exp_empty; |