Re: [ANNOUNCE] Staircase Deadline cpu scheduler version 0.45

From: Con Kolivas
Date: Sun Apr 22 2007 - 03:33:16 EST


On Sunday 22 April 2007 17:27, Con Kolivas wrote:
> On Sunday 22 April 2007 17:00, Willy Tarreau wrote:
> > On Sun, Apr 22, 2007 at 02:41:48PM +1000, Con Kolivas wrote:
> > > A significant bugfix for SMP balancing was just posted for the
> > > staircase deadline cpu scheduler which improves behaviour dramatically
> > > on any SMP machine.
> > >
> > > Thanks to Willy Tarreau for noticing likely fault point.
> > >
> > > Also requested was a version in the Makefile so this version of the
> > > patch adds -sd045 to the kernel version.
> >
> > Con, I'm sorry, but it is worse with this one :-(
>
> Well that was quick testing, thanks.
>
> > The lag when typing in xterms is even more noticeable and vmstat output
> > oscillates between 8 and 65, with idle rates around 50%, as you can see
> > below :
> >
> > Renicing X or not does not change anything here.
> >
> > I suspect that the bug you fixed was hiding another one :-/
> > If you want me to test another patch, feel free to ask.

Just as a debug point could you please try this patch? Thanks.

> Thanks. Clearly still a bug in there. I have to keep looking. The other
> changes are still valid so I have to run with them.
>
> > Willy
---
kernel/sched.c | 2 ++
1 file changed, 2 insertions(+)

Index: linux-2.6.21-rc7-sd/kernel/sched.c
===================================================================
--- linux-2.6.21-rc7-sd.orig/kernel/sched.c 2007-04-22 17:30:25.000000000 +1000
+++ linux-2.6.21-rc7-sd/kernel/sched.c 2007-04-22 17:30:49.000000000 +1000
@@ -3276,6 +3276,7 @@ retry:
}
queue = array->queue + idx;
next = list_entry(queue->next, struct task_struct, run_list);
+#if 0
if (unlikely(next->time_slice <= 0)) {
/*
* Unlucky enough that this task ran out of time_slice
@@ -3287,6 +3288,7 @@ retry:
idx = find_next_bit(rq->dyn_bitmap, MAX_PRIO, MAX_RT_PRIO);
goto retry;
}
+#endif
next->rotation = rq->prio_rotation;
nstatic = next->static_prio;
if (nstatic < array->best_static_prio)

--
-ck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/