cvs commit: src/sys/kern kern_cputimer.c

Matthew Dillon dillon at apollo.backplane.com
Wed Jun 1 14:25:48 PDT 2005


:
: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 at xxxxxxxxxxxxx>





More information about the Commits mailing list