Messages in this thread | | | Date | Mon, 17 Oct 2011 23:31:43 +0200 | From | Ingo Molnar <> | Subject | Re: Linux 3.1-rc9 |
| |
* Ingo Molnar <mingo@elte.hu> wrote:
> If we used a scalar 64-bit form for all kernel internal time > representations: > > s64 nsecs; > > then conversions back to timespec/timeval would involve dividing > this 64-bit value with 1000000000 or 1000000. > > Is there no faster approximation for those than bit by bit? > > In particular we could try something like: > > (high*2^32 + low)/1e9 ~== ( high * (2^64/1e9) ) / 2^32 > > ... which reduces it all to a 64-bit multiplication (or two 32-bit > multiplications) with a known constant, at the cost of 1 nsec > imprecision of the result - but that's an OK approximation in my > opinion.
Hm, no, the numeric error would be in the *seconds* result, and would be 0-3 seconds - which is obviously not acceptable.
Thanks,
Ingo
| |