[PATCH] posix-timers: exit path cleanup

No need to rebalance when task exited

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Oleg Nesterov 2005-10-24 14:36:28 +04:00 committed by Linus Torvalds
parent 3de463c7d9
commit ca531a0a5e

View file

@ -486,6 +486,9 @@ static void process_timer_rebalance(struct task_struct *p,
struct task_struct *t = p; struct task_struct *t = p;
unsigned int nthreads = atomic_read(&p->signal->live); unsigned int nthreads = atomic_read(&p->signal->live);
if (!nthreads)
return;
switch (clock_idx) { switch (clock_idx) {
default: default:
BUG(); BUG();
@ -1160,6 +1163,9 @@ static void check_process_timers(struct task_struct *tsk,
unsigned long long sched_left, sched; unsigned long long sched_left, sched;
const unsigned int nthreads = atomic_read(&sig->live); const unsigned int nthreads = atomic_read(&sig->live);
if (!nthreads)
return;
prof_left = cputime_sub(prof_expires, utime); prof_left = cputime_sub(prof_expires, utime);
prof_left = cputime_sub(prof_left, stime); prof_left = cputime_sub(prof_left, stime);
prof_left = cputime_div(prof_left, nthreads); prof_left = cputime_div(prof_left, nthreads);