Re: 2.6.21-rc3-mm1 RSDL results

Matt Mackall
2007-03-09T08:07:05Z

On Fri, Mar 09, 2007 at 05:28:03PM +1100, Con Kolivas wrote:
> On Friday 09 March 2007 16:39, Matt Mackall wrote:
> > First off, let me say that I think your approach has great promise,
> > but I'm afraid it doesn't work so well here yet.
> >
> > Box is an R51 Thinkpad, 1.7GHz Pentium M. I'm using a make -j 5 as a
> > test load.
> >
> > With 2.6.21-rc2-mm2, I get slightly sluggish response for opening new
> > terminals, scrolling in Galeon, and a bit jerky behaviour for spinning
> > Beryl's 3D desktop. Playing MP3s off an sshfs FUSE mount works fine.
> > Typing across ssh sessions has no noticeable lag. Mouse pointer
> > movement is smooth.
> >
> > With 2.6.21-rc3-mm1, terminals take longer to open, Galeon is
> > noticeably more sluggish, and Beryl's desktop switching goes from being
> > jerky to a 5-second agony. Typing in shells, remote or not,
> > lags noticeably. Mouse pointer is alternately smooth or jerky. But
> > MP3s still work great!
> >
> > Problems persist with make -j 2 and make.
>
> make -j5 sucks you'll get precisely 1/6th cpu for galeon with this scheduler
> which is perfectly fair and I make no apology for it, nor do I plan to
> optimise for it. With make (without jobs) you'll still only get 50% cpu so it
> should be precisely half speed unless you nice it. Does it feel precisely
> half speed? It's supposed to. This is one of the drawbacks of a perfectly
> fair approach; its... fair and will need more liberal use of nice.

Well then I suppose something must be broken. When my box is idle, I
can grab my desktop and spin it around and generate less than 25% CPU
with the CPU stepped all the way down from 1.7GHz to 600MHz (Beryl is
actually much snappier than many conventional window managers by doing
just about everything through GL). By comparison, grabbing the Galeon
scroll bar and wiggling it will generate 100% CPU (still throttled
though) but remain relatively smooth.

With a single non-parallel make running (all in cache, mind you), the
system kicks up into just about 100% CPU usage at full speed. Desktop
spinning becomes between 10x to 100x slower (from ~30fps to < 1fps).
Galeon scrolling pauses for as much as a second. Mouse movement pauses
for as much as a second. Typing in terminals lags noticeably.

This is not the expected behavior of a fair, low-latency scheduler.

For reference, this was with HZ=250, PREEMPT, PREEMPT_BKL, and !NO_HZ.

--
Mathematics is the supreme nostalgia of our time.