Re: Microsecond accuracy

Tigran Aivazian
2000-12-07T13:06:21Z

Hi,

How about TSC? I know this has disadvantages such as:

a) not all machines have TSC

b) not all machines that claim to have TSC have a usable one.

c) on SMP the kernel makes a best effort to synchronize TSC but this may
or may not be guaranteed

d) you still need a userspace implementation to correctly map TSC cycles
to (micro)seconds using various MHz-specific ratios/whatever. I think
someone I know has already done this work but will let him speak if he
wants to release this to public or not.

other than the above, TSC (rdtsc instruction) is perfectly available to
userspace applications without special privileges. And it is 64bit so it
won't easily wrap around...

regards,
Tigran.

On Thu, 7 Dec 2000, Kotsovinos Vangelis wrote:

>
> Is there any way to measure (with microsecond accuracy) the time of a
> program execution (without using Machine Specific Registers) ?
> I've already tried getrusage(), times() and clock() but they all have
> 10 millisecond accuracy, even though they claim to have microsecond
> acuracy.
> The only thing that seems to work is to use one of the tools that measure
> performanc through accessing the machine specific registers. They give you
> the ability to measure the clock cycles used, but their accuracy is also
> very low from what I have seen up to now.
>
> Thank you very much in advance
>
> --) Vangelis
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> Please read the FAQ at http://www.tux.org/lkml/