Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Jan 2003 21:13:53 -0500 (EST)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        Steve Kargl <sgk@troutmask.apl.washington.edu>
Cc:        Gary Jennejohn <garyj@jennejohn.org>, <arch@FreeBSD.ORG>
Subject:   Re: New scheduler
Message-ID:  <20030124211133.E2966-100000@mail.chesapeake.net>
In-Reply-To: <20030125010810.GA14191@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 24 Jan 2003, Steve Kargl wrote:

> On Fri, Jan 24, 2003 at 09:51:38PM +0100, Gary Jennejohn wrote:
> > I assume that this new scheduler is only for SMP?
> >
> > I tried it out on my UP machine - BTW on line 312 there's a missing
> > ``);'' - and the results were, not to pull any blows, catastrophic.
> >
> > Running X I started a ``make buildworld'' in an aterm and immediately
> > observerd:
> > o the cursor lagged way behind mouse movements
> > o switching desktops allowed me to observe in detail how various
> >   applications repaint themselves - it was that slow
> > o mozilla was totally unusable
> >
> > With the current scheduler interactive applications are still quite
> > snappy. I never observe any of the above mentioned problems with it.
> > I know this is a WIP, but I thought I'd report my observations.
> >
> > This on an XP 1800+ with 768MB of memory and (fairly) fast SCSI disks.
> >
>
> I can (unfortunately) confirm Gary's observation.
> Building LAPACK, "make -j 2 buldworld" and running
> KDE brought my 1GHz athlon to its knees.  Moving
> the mouse between windows/desktops was painfully
> slow/lagging.
>
> top(1) for a similar load on the current scheduler shows
>
> last pid:  4220;  load averages:  2.51,  1.06,  0.43    up 0+00:22:02  17:06:20
> 81 processes:  4 running, 77 sleeping
> CPU states: 70.4% user,  0.0% nice, 29.6% system,  0.0% interrupt,  0.0% idle
> Mem: 84M Active, 93M Inact, 38M Wired, 1176K Cache, 48M Buf, 157M Free
> Swap: 356M Total, 356M Free
>
> With your new scheduler the load averages were (approximately)
> 7.5, 5.5, 5.
>

Ah, the interactivity has regressed.  Can you try something like this:

/*
 * This macro determines whether or not the kse belongs on the current or
 * next run queue.
 */
#define SCHED_CURR(kg)  ((kg)->kg_slptime > (hz / 4) || \
    (kg)->kg_pri_class != PRI_TIMESHARE)

change the (hz / 4) to (hz / 10)

Let me know how that goes?  I'm not going to be able to work on this for a
bit.  I just had some minor surgery and the painkillers are making it hard
to think clearly.

Cheers,
Jeff


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030124211133.E2966-100000>