2013-03-28 12:54:06

by Stanislaw Gruszka

[permalink] [raw]
Subject: [PATCH 3.9] cputime: Fix accounting on multi-threaded processes

Recent commit 6fac4829 "cputime: Use accessors to read task cputime
stats" introduced a bug, that make we account many times cputime of
the first thread, instead of cputimes of all threads.

Signed-off-by: Stanislaw Gruszka <[email protected]>
---
kernel/sched/cputime.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
index ed12cbb..e93cca9 100644
--- a/kernel/sched/cputime.c
+++ b/kernel/sched/cputime.c
@@ -310,7 +310,7 @@ void thread_group_cputime(struct task_struct *tsk, struct task_cputime *times)

t = tsk;
do {
- task_cputime(tsk, &utime, &stime);
+ task_cputime(t, &utime, &stime);
times->utime += utime;
times->stime += stime;
times->sum_exec_runtime += task_sched_runtime(t);
--
1.7.1


2013-03-28 13:31:44

by Frederic Weisbecker

[permalink] [raw]
Subject: Re: [PATCH 3.9] cputime: Fix accounting on multi-threaded processes

2013/3/28 Stanislaw Gruszka <[email protected]>:
> Recent commit 6fac4829 "cputime: Use accessors to read task cputime
> stats" introduced a bug, that make we account many times cputime of
> the first thread, instead of cputimes of all threads.
>
> Signed-off-by: Stanislaw Gruszka <[email protected]>


Nice catch!

Acked-by: Frederic Weisbecker <[email protected]>