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.
>
>