[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100324204550.GA31777@redhat.com>
Date: Wed, 24 Mar 2010 21:45:50 +0100
From: Oleg Nesterov <oleg@...hat.com>
To: Andrew Morton <akpm@...ux-foundation.org>,
Americo Wang <xiyou.wangcong@...il.com>,
Balbir Singh <balbir@...ibm.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Hidetoshi Seto <seto.hidetoshi@...fujitsu.com>,
Ingo Molnar <mingo@...e.hu>,
Peter Zijlstra <peterz@...radead.org>,
Roland McGrath <roland@...hat.com>,
Spencer Candland <spencer@...ehost.com>,
Stanislaw Gruszka <sgruszka@...hat.com>
Cc: linux-kernel@...r.kernel.org
Subject: [RFC,PATCH 1/2] cputimers/proc: do_task_stat()->task_times() can
race with getrusage()
do_task_stat()->task_times() can race with getrusage(), they both can
try to update task->prev_Xtime at the same time.
Remove this bit of d180c5bc "sched: Introduce task_times() to replace
task_{u,s}time()".
See also the next patch.
Signed-off-by: Oleg Nesterov <oleg@...hat.com>
---
fs/proc/array.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- 34-rc1/fs/proc/array.c~PROC_4_DTS_TASK_TIMES_IS_RACY 2010-03-24 19:53:23.000000000 +0100
+++ 34-rc1/fs/proc/array.c 2010-03-24 19:57:37.000000000 +0100
@@ -449,7 +449,8 @@ static int do_task_stat(struct seq_file
if (!whole) {
min_flt = task->min_flt;
maj_flt = task->maj_flt;
- task_times(task, &utime, &stime);
+ utime = task->utime;
+ stime = task->stime;
gtime = task->gtime;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists