Subject: Re: Problem with clock_gettime()
To: None <tech-kern@netbsd.org>
From: Ian McIntosh <ianm@cat.co.za>
List: tech-kern
Date: 11/25/2003 10:48:47
Thanks for all the help, its much appreciated.

Ian
----- Original Message ----- 
From: <wolfgang+gnus20031124T054217@dailyplanet.dontspam.wsrcc.com>
To: <tech-kern@netbsd.org>
Sent: Monday, November 24, 2003 3:52 PM
Subject: Re: Problem with clock_gettime()


> 
> ianm@cat.co.za (Ian McIntosh) writes:
> > When doing this I have noticed some strange behaviour
> > with clock_gettime(). I can call clock_gettime() and 
> > store the result in a temporary variable and then 
> > when I call it again the time returned is before 
> > the time in the temporary variable (indicating that 
> > time has gone backwards????). 
> 
> This is an old problem.  PR 14100  (and probably others)
> 
>      http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=14100
> 
> As an aside, if you need to measure delay-time you probably want to
> use the TSC if you have one in your processor.  You get much finer
> granularity time in units of your processor's internal clock speed.
> (eg. 3.2 Ghz clock ticks on a 3.2Ghz CPU.)
> 
>  /* x86 stub for reading the CPU's tick counter */
> 
>  typedef unsigned long long u64;
> 
>  inline          u64
>  getTick64(void)
>  {
>      u64             ticks;
>      asm             volatile("rdtsc":"=A"(ticks));
>      return ticks;
>  }
> 
> -wolfgang
> -- 
> Wolfgang S. Rupprecht      http://www.wsrcc.com/wolfgang/
>        The above "From:" address is valid.  Don't mess with it.
> 
>