Here's a big bugfix for sched rsdl 0.28 --- kernel/sched.c | 7 +++++++ 1 file changed, 7 insertions(+)
Index: linux-2.6.21-rc3-mm2/kernel/sched.c =================================================================== --- linux-2.6.21-rc3-mm2.orig/kernel/sched.c 2007-03-11 11:04:38.000000000 +1100 +++ linux-2.6.21-rc3-mm2/kernel/sched.c 2007-03-11 11:05:46.000000000 +1100 @@ -3328,6 +3328,13 @@ static inline void rotate_runqueue_prior int new_prio_level, remaining_quota = rq_quota(rq, rq->prio_level); struct prio_array *array = rq->active; + /* + * Make sure we don't have tasks still on the active array that + * haven't run due to not preempting (merging or smp balancing) + */ + if (find_next_bit(rq->dyn_bitmap, MAX_PRIO, MAX_RT_PRIO) < + rq->prio_level) + return; if (rq->prio_level > MAX_PRIO - 2) { /* Major rotation required */ struct prio_array *new_queue = rq->expired; -- -ck - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/