DragonFly BSD
DragonFly commits List (threaded) for 2005-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: cvs commit: src/sys/kern kern_cputimer.c


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 1 Jun 2005 14:25:06 -0700 (PDT)

:
:On Wed, Jun 01, 2005 at 01:49:11PM -0700, Matthew Dillon wrote:
:>    I'll probably remove it entirely, actually.   I don't think we can 
:>    suppor changing the primary system timebase, not without putting 64 bit
:>    arithmatic in the critical timer paths.
:
:But is that part supposed to happen in the normal operation? If yes,
:we have to eliminate it.
:
:Joerg

    The choices are:

    * Use a normalized time base and convert values on the fly.
      This is fairly tidy but puts 64 bit multiplies and divides in the
      critical path.

    * Use a normalized time base and cache a copy of the calculation(s).
      This is much faster but requires a *huge* infrastructure to recalculate
      the cached values whenever the timebase changes.

    * Use hardware counter units and do not allow the timebase to change
      once the system has come up.

    It is my feeling that there are just too many gotchas involved with
    changing the timebase on the fly.  I far prefer #3.

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



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