*** 3017,3032 ****
p->totalrun = 0;
p->slice = slice(p);
time_slice_expired(p, rq);
- goto out_unlock;
}
/*
* Tasks that run out of time_slice but still have slice left get
* requeued with a lower priority && RR_INTERVAL time_slice.
*/
- if (!--p->time_slice)
time_slice_expired(p, rq);
- out_unlock:
- spin_unlock(&rq->lock);
}
/*
--- 3022,3038 ----
p->totalrun = 0;
p->slice = slice(p);
time_slice_expired(p, rq);
+ return 1;
}
/*
* Tasks that run out of time_slice but still have slice left get
* requeued with a lower priority && RR_INTERVAL time_slice.
*/
+ if (!--p->time_slice) {
time_slice_expired(p, rq);
+ return 1;
+ }
+ return 0;
}