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>