Date: Wed, 13 Oct 1999 21:16:23 -0700 (PDT) From: Matthew Jacob <mjacob@feral.com> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/alpha/alpha clock.c interrupt.c Message-ID: <Pine.BSF.4.05.9910132106150.4344-100000@semuta.feral.com> In-Reply-To: <14341.18732.575731.734319@grasshopper.cs.duke.edu>
index | next in thread | previous in thread | raw e-mail
Rawhide:
kern.clockrate: tick = 833, tickadj = 40, hz = 1200, profhz = 1200, stathz = 1200
hz is a interrupt frequency >> 12. From arch/alpha/machdep.c:
/*
* Figure out our clock frequency, from RPB fields.
*/
hz = hwrpb->rpb_intr_freq >> 12;
if (!(60 <= hz && hz <= 10240)) {
hz = 1024;
#ifdef DIAGNOSTIC
printf("WARNING: unbelievable rpb_intr_freq: %ld (%d hz)\n",
hwrpb->rpb_intr_freq, hz);
#endif
}
And this seems accurate from an xntpd sync'd rawhide:
brunner > vmstat -i
interrupt total rate
clock 671850349 1200
intr 04 212 0
intr 16 500262 0
intr 20 53 0
intr 24 269703 0
intr 32 31 0
Total 672620610 1201
Insofar as what clock.c/interrupt.c shows- I'll plead ignorance! I haven't
fooled with schedulers since v7 days. I'd have to spend some time on it to
try and understand what is or isn't being assumed.
Yes- I saw your example- All I was leaping in here on was the 'hz = 1024'
statement.
On Wed, 13 Oct 1999, Andrew Gallatin wrote:
>
> Matthew Jacob writes:
> >
> > Actually, it also turns out that hz varies widely- sometimes it is 1024.
> > Sometimes 1200. It is platform dependent- Drew- what did you do here????
>
> Hmm.. Where have you seen 1200? I've checked the following hardware &
> found it to be 1024 on all of it: DEC 3000/500, AlphaStation 200/166,
> AlphaServer 400/233, AlphaServer 2000 4/200, PC164LX@600MHz, Miatas @
> 433MHz, 500MHz & 600MHz, AlphaStation 500/266, AlphaStation 600/266,
> Monet @500MHz, and a DS20 @500MHz. That's pretty close to one of
> everything we support..
>
> Have a look at NetBSD's arch/alpha/alpha/clock.c where they set
> schedhz to 16. Then see their arch/alpha/alpha/interrupt.c where they
> call schedclock every 64th interrupt. They're assuming a hz of 1024.
>
> Ata any rate, what I think I've done is translated NetBSD's solution
> to the niceness problem & hidden some bugs in schedcpu(). Before I
> did this, scheduling was so bad that I really can't see how I could
> possibly have made anything worse...
>
> BTW, Did you see my example yesterday on -alpha of how broken nice is?
>
> Drew
>
> ------------------------------------------------------------------------------
> Andrew Gallatin, Sr Systems Programmer http://www.cs.duke.edu/~gallatin
> Duke University Email: gallatin@cs.duke.edu
> Department of Computer Science Phone: (919) 660-6590
>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9910132106150.4344-100000>
