Messages in this thread Patch in this message |  | | | Date | Mon, 31 Dec 2007 10:27:38 +0100 | | From | Ingo Molnar <> | | Subject | Re: [RFC/PATCH 0/3] sched: hrtick and rt group scheduling |
* Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> I spend xmas implementing group scheduling for the realtime scheduling
> classes. Its a tad raw, but seems to work for the trivial test cases I
> threw at it.
>
> The hrtick stuff is unrelated but was still stuck in my sched queue.
thanks Peter, this is really cool stuff! I have picked up all 3 patches
into sched-devel.git - let's see how they work out.
(btw., i had to do the fixes below. Are you sure you sent the right
version of the patches?)
Ingo
Index: linux/kernel/sched_rt.c
===================================================================
--- linux.orig/kernel/sched_rt.c
+++ linux/kernel/sched_rt.c
@@ -337,7 +337,6 @@ static void dequeue_rt_entity(struct sch
{
struct rt_rq *rt_rq = rt_rq_of_se(rt_se);
struct rt_prio_array *array = &rt_rq->active;
- struct rt_rq *group_rq = group_rt_rq(rt_se);
list_del_init(&rt_se->run_list);
if (list_empty(array->queue + rt_se_prio(rt_se)))
@@ -527,10 +526,8 @@ static struct task_struct *pick_next_tas
do {
rt_se = pick_next_rt_entity(rq, rt_rq);
- if (unlikely(!rt_se)) {
- foo = 1;
+ if (unlikely(!rt_se))
goto retry;
- }
rt_rq = group_rt_rq(rt_se);
} while (rt_rq);
|  |