On Sunday 22 April 2007 18:06, Willy Tarreau wrote:
> On Sun, Apr 22, 2007 at 05:31:58PM +1000, Con Kolivas wrote:
> > 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.
>
> OK, this time, the ocbench took ages to start. They appeared immediately
> but very few of them (less than 8 out of 64) really started to work. The
> system remained very responsive and smooth during the test. But I guess
> I know why : all the load was sent to CPU 0 :
Shouldn't have affected smp balancing at all, but try this on top of the
ontop please? Thanks
> Willy
---
kernel/sched.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6.21-rc7-sd/kernel/sched.c
===================================================================
--- linux-2.6.21-rc7-sd.orig/kernel/sched.c 2007-04-22 18:52:29.000000000 +1000
+++ linux-2.6.21-rc7-sd/kernel/sched.c 2007-04-22 18:52:52.000000000 +1000
@@ -703,7 +703,7 @@ static int next_entitled_slot(struct tas
* Go straight to expiration if there are higher priority tasks
* already expired.
*/
- if (p->static_prio > rq->expired->best_static_prio)
+ if (p->static_prio > rq->expired->best_static_prio && p->mm)
return MAX_PRIO;
if (!rq->prio_level[uprio])
rq->prio_level[uprio] = MAX_RT_PRIO;
--
-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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]