DragonFly BSD
DragonFly kernel List (threaded) for 2004-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Timers (was Trivial pc-speaker problem.)

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 27 Sep 2004 07:50:47 -0700 (PDT)

:  Thanks for the long answer.  But I don't get where hz comes from.  It's
:obviously not timer <not 0> then.  (And 18.2 Hz might be a bit slow.)
:  So is the "hz tick" just another event that timer 0 checks (and sets up
:an interval) for then?

    Right.  The 'hz' tick is just a periodic SYSTIMER in DFly, whereas in
    FreeBSD the 'hz' tick is the primary timer 0 timebase interrupt.

: (And is then timer <not 0> used to calculate how many cycles there are to
:go until the next tick?  (Since timer 0 is "unsuitable for keeping track
:of ''real'' time") )

    Right.  The timer <not 0> is used to calculate the elapsed time in 
    microsecond granularity.  It does not need to generate an interrupt
    or anything, it just needs to be consistent.  In fact, the TSC or APIC
    ltimer or other hardware timers could be used for this purpose (though
    each has its quirks, which is why I'd really like to use one of the
    8254 timers).  The real time clock (rtc) chip does not have enough 
    resolution to use for this purpose.

:  This stuff is interesting, had to think for a bit too.  Thanks again.

					Matthew Dillon 

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]