getrusage: RUSAGE_THREAD should return ru_utime and ru_stime
KOSAKI Motohiro [Sat, 3 Jan 2009 20:40:37 +0000 (05:40 +0900)]
Impact: task stats regression fix

Original getrusage(RUSAGE_THREAD) implementation can return ru_utime and
ru_stime. But commit "f06febc: timers: fix itimer/many thread hang" broke it.

this patch restores it.

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

kernel/sys.c

index d356d79..61dbfd4 100644 (file)
@@ -1627,6 +1627,8 @@ static void k_getrusage(struct task_struct *p, int who, struct rusage *r)
        utime = stime = cputime_zero;
 
        if (who == RUSAGE_THREAD) {
+               utime = task_utime(current);
+               stime = task_stime(current);
                accumulate_thread_rusage(p, r);
                goto out;
        }