Timers and timing, was: MySQL Performance 6.0rc1

Robert Watson rwatson at FreeBSD.org
Sat Oct 29 03:10:02 PDT 2005


On Fri, 28 Oct 2005, M. Warner Losh wrote:

> : thread libraries use clock_gettime, this becauses there is
> : pthread_cond_timedwait and other synchronization objects
> : like rwlock, and mutex all have a timeout version, I think
> : pthread_cond_timedwait is mostly used in some applications,
> : though normally, application is not looking for high accuracy.
> : they will get benefit from the clock_gettime speed improvement.
>
> And unfortuantely, the argument that needs to be passed to abstime is 
> unspecified, at leas tin our man page.  Also unfortuantely, 
> CLOCK_REALTIME seems to be what's required here (our man page just says 
> 'if the system time reaches the time specified in abstime'), rather than 
> CLOCK_MONOTONIC so jumps in system time can cause previously short 
> timeouts to become rather large timeouts...  This is a flaw in the API. 
> :-(

If the assumption is that these calls will behave like select() and 
poll(), then I would guess lowering the accuracy here would not be a 
problem, since it is widely understand that select() waits at timer tick 
granularity.

Robert N M Watson


More information about the freebsd-current mailing list