Messages in this thread Patch in this message |  | | | Date | Mon, 15 Jun 2009 23:26:51 +0200 | | From | Oleg Nesterov <> | | Subject | [PATCH 2/2] wait_task_zombie: do not use thread_group_cputime() |
| |
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@redhat.com>
--- 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,
|  |