[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200703111107.00704.kernel@kolivas.org>
Date: Sun, 11 Mar 2007 11:07:00 +1100
From: Con Kolivas <kernel@...ivas.org>
To: linux kernel mailing list <linux-kernel@...r.kernel.org>,
ck list <ck@....kolivas.org>, Nicolas.Mailhot@...oste.net
Subject: sched rsdl fix for 0.28
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists