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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9910132106150.4344-100000>