[PATCH 2/2] wait_task_zombie: do not use thread_group_cputime()

From: Oleg Nesterov
Date: Mon Jun 15 2009 - 17:31:50 EST


There is no reason for thread_group_cputime() in wait_task_zombie(),
there must be no other threads.

This call was previously needed to collect the per-cpu data which
we do not have any longer.

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

--- PTRACE/kernel/exit.c~2_WAIT_NO_TG 2009-06-15 22:26:02.000000000 +0200
+++ PTRACE/kernel/exit.c 2009-06-15 23:06:45.000000000 +0200
@@ -1192,7 +1192,6 @@ static int wait_task_zombie(struct wait_
if (likely(!traced) && likely(!task_detached(p))) {
struct signal_struct *psig;
struct signal_struct *sig;
- struct task_cputime cputime;

/*
* The resource counters for the group leader are in its
@@ -1208,23 +1207,20 @@ static int wait_task_zombie(struct wait_
* need to protect the access to parent->signal fields,
* as other threads in the parent group can be right
* here reaping other children at the same time.
- *
- * We use thread_group_cputime() to get times for the thread
- * group, which consolidates times for all threads in the
- * group including the group leader.
*/
- thread_group_cputime(p, &cputime);
spin_lock_irq(&p->real_parent->sighand->siglock);
psig = p->real_parent->signal;
sig = p->signal;
psig->cutime =
cputime_add(psig->cutime,
- cputime_add(cputime.utime,
- sig->cutime));
+ cputime_add(p->utime,
+ cputime_add(sig->utime,
+ sig->cutime)));
psig->cstime =
cputime_add(psig->cstime,
- cputime_add(cputime.stime,
- sig->cstime));
+ cputime_add(p->stime,
+ cputime_add(sig->stime,
+ sig->cstime)));
psig->cgtime =
cputime_add(psig->cgtime,
cputime_add(p->gtime,

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/