From: Andrew Morton Cc: Nippun Goel Cc: Ravikiran Thirumalai Cc: Shai Fultheim Signed-off-by: Andrew Morton --- kernel/sys.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) diff -puN kernel/sys.c~avoid-taking-global-tasklist_lock-for-single-threadedprocess-at-getrusage-tidy kernel/sys.c --- 25/kernel/sys.c~avoid-taking-global-tasklist_lock-for-single-threadedprocess-at-getrusage-tidy Fri Jan 13 17:54:05 2006 +++ 25-akpm/kernel/sys.c Fri Jan 13 17:54:05 2006 @@ -1715,7 +1715,9 @@ static void k_getrusage(struct task_stru memset((char *) r, 0, sizeof *r); utime = stime = cputime_zero; - need_lock = !(p == current && thread_group_empty(p)); + if (p != current || !thread_group_empty(p)) + need_lock = 1; + if (need_lock) { read_lock(&tasklist_lock); if (unlikely(!p->signal)) { _