posix_cpu_timers_exit_group(): Do not use thread_group_cputimer()

When the process exits we don't have to run new cputimer nor
use running one (as it not accounts when tsk->exit_state != 0)
to get process CPU times. As there is only one thread we can
just use CPU times fields from task and signal structs.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Roland McGrath <roland@redhat.com>
Cc: Vitaly Mayatskikh <vmayatsk@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

authored by Stanislaw Gruszka and committed by Ingo Molnar 17d42c1c 7b2aa037

+4 -3
+4 -3
kernel/posix-cpu-timers.c
··· 521 } 522 void posix_cpu_timers_exit_group(struct task_struct *tsk) 523 { 524 - struct task_cputime cputime; 525 526 - thread_group_cputimer(tsk, &cputime); 527 cleanup_timers(tsk->signal->cpu_timers, 528 - cputime.utime, cputime.stime, cputime.sum_exec_runtime); 529 } 530 531 static void clear_dead_task(struct k_itimer *timer, union cpu_time_count now)
··· 521 } 522 void posix_cpu_timers_exit_group(struct task_struct *tsk) 523 { 524 + struct signal_struct *const sig = tsk->signal; 525 526 cleanup_timers(tsk->signal->cpu_timers, 527 + cputime_add(tsk->utime, sig->utime), 528 + cputime_add(tsk->stime, sig->stime), 529 + tsk->se.sum_exec_runtime + sig->sum_sched_runtime); 530 } 531 532 static void clear_dead_task(struct k_itimer *timer, union cpu_time_count now)