Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Oct 2005 18:48:39 +0800
From:      David Xu <davidxu@freebsd.org>
To:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc:        Alexander Leidinger <Alexander@Leidinger.net>, freebsd-current@freebsd.org, Robert Watson <rwatson@freebsd.org>
Subject:   Re: TSC instead of ACPI: powerd doesn't work anymore (to be expected?)
Message-ID:  <4365F687.3070105@freebsd.org>
In-Reply-To: <81213.1130754398@critter.freebsd.dk>
References:  <81213.1130754398@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
Poul-Henning Kamp wrote:
> In message <4365EF7B.1020706@freebsd.org>, David Xu writes:
>>Can we change gettimeofday and clock_gettime to lower resolution now?
> 
> 
> I can live with gettimeofday(2) and time(3) being degraded.
> 
> I am going to insist that clock_gettime(CLOCK_REALTIME, CLOCK_UPTIME)
> remain precise.
> 

In thread program, we have to use clock_gettime, for example a thread
wants to wait for condition variable for two seconds, it has to:

struct timespec ts;

clock_gettime(CLOCK_REALTIME, &ts);
ts.tv_sec += 2;
pthread_cond_wait(&cond, &mtx);

problem is who really cares time precise? how many people are
really handling realtime critical tasks? this is really an
unpleasant side effect that a simple syscall can stall cpu.

> 
>>I think 1000hz/s is enough for most applications, since a thread can
>>never sleep shorter than a tick for years.
> 
> 
> (Famous last words!)
> 
> Time is not just a matter of sleeping.
> 
> 
>>We can introduce
>>hrtime_t clock_gethrtime(clockid_t clock) to get hi-resolution time
>>as the one seen in RTLinux, or gethrtime() as seen in Solaris (Daniel
>>Eischen said?)
> 
> 
> You know ? 
> 
> This is just a great example of why people feel the autocrap tools
> is the way to write portable code :-(
> 
> The open group specifically allow clock_gettime() to implement
> more timescales, so what did those fools go and invent even more
> library functions for ?
> 
> Poul-Henning
> 

You can introduce other CLOCK_..., but auto tools won't detect them too,
this means nobody will use them except us, probably worse then
gethrtime. :-(




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4365F687.3070105>