cvs commit: src/sys/sys time.h src/sys/kern kern_time.c

Robert Watson rwatson at
Sun Nov 27 13:41:35 GMT 2005

On Sun, 27 Nov 2005, Norikatsu Shigemura wrote:

> On Sun, 27 Nov 2005 13:23:00 +0000 (GMT)
> Robert Watson <rwatson at> wrote:
>>> time(3) should use the environment variable too, since the fast version
>>> gives a value that is both imprecise and wrong.  It inherits bugs from
>>> the kernel's time_second variable.  time_second is not the current time
>>> truncated, but is the (current time less up to about tc_tick/HZ)
>>> truncated.  It lags the current time by more than 1 second for up to
>>> about tc_tick/HZ seconds before every rollover of the correct truncated
>>> time.
>> Yes -- this is a mistake in the current library wrapper.  All interfaces
>> modified to be "fast" or "precise" should be controlled by the
>> environmental variable so that testing is more consistent (i.e., other
>> than wrapping costs, the non-configured version should behave identically
>> to the non-wrapped version).
> 	I think that to use libmap.conf(5) is a best solution:-), if
> 	someone want to use low resolution version.  I didn't confirm
> 	following setting:
> # All binaries use low resolution version on /usr/local/bin/
> [/usr/local/bin/]
> 	Of cource, you can use mysql only, and no more controll by
> 	environment variable.

In the general case -- i.e., if the wrapper were going to be for more than 
testing -- I'd agree.  However, the wrapper is designed to support 
automated testing without dealing with system-wide configuration files. 
:-)  For those wishing to pick up the latest wrapper code, it's in 
//depot/user/rwatson/clock/src/lib/libwrapper in Perforce.

Robert N M Watson

More information about the cvs-src mailing list