Timekeeping [Was: Re: cvs commit: src/usr.bin/vmstat vmstat.c src/usr.bin/w w.c]

Poul-Henning Kamp phk at phk.freebsd.dk
Fri Oct 21 09:05:54 PDT 2005


In message <20051022011020.T5554 at delplex.bde.org>, Bruce Evans writes:


>How do you resync laptops after suspending them for long enough for
>the clock to drift?  Use ntpd and let it step, or use ntpd -x and let
>it take hours to resync?  The right thing to do is step the clocks to
>the current time immediately so that they are correct while the system
>is actually being used.

Ahh, and now we get into interesting territory:  What _is_ the
definition of uptime for a laptop which has been suspended ?

No matter which way you turn, there are dragons...

>> But have resigned ourselves to not caring about the actual length
>> of seconds and therefore, presumably, having no serious interest
>> in timekeeping quality.
>
>I certainly care about errors of 1 microsecond (although I don't need
>to), and just remembered that I use stepping to fix up the clock after
>sitting in ddb with the clock stopped.  This reduces the error in the
>real time clock to ~1 microsecond per second stopped, but gives an error
>of 1 second per second stopped in the monotonic time and the boot time.
>Here the correct treatment is to jump the monotonic time forward and
>not touch the boot time.

Again, if you have been sitting in DDB, what exactly is the definition
of "uptime" ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the cvs-src mailing list