X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fproc%2Farray.c;h=d80baaabf835e1c98911004035518bf5df7dc51d;hb=73a2bcb0edb9ffb0b007b3546b430e2c6e415eee;hp=7a34571203bc46b335b2c03d52e48ef4fde9d4ea;hpb=f768f9d3757be475a20cb5f9d63bda45934150b1;p=linux-2.6 diff --git a/fs/proc/array.c b/fs/proc/array.c index 7a34571203..d80baaabf8 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -358,7 +358,8 @@ static cputime_t task_utime(struct task_struct *p) } utime = (clock_t)temp; - return clock_t_to_cputime(utime); + p->prev_utime = max(p->prev_utime, clock_t_to_cputime(utime)); + return p->prev_utime; } static cputime_t task_stime(struct task_struct *p) @@ -456,7 +457,7 @@ static int do_task_stat(struct task_struct *task, char *buffer, int whole) maj_flt += sig->maj_flt; utime = cputime_add(utime, sig->utime); stime = cputime_add(stime, sig->stime); - gtime += cputime_add(gtime, sig->gtime); + gtime = cputime_add(gtime, sig->gtime); } sid = task_session_nr_ns(task, ns);