Skip site navigation (1)Skip section navigation (2)
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>