# Calculating time in order of 0.1usec on x86 system - Kernel

This is a discussion on Calculating time in order of 0.1usec on x86 system - Kernel ; Hi, I need to calculate time spent by a function in order of less then a microsecond on x86 SMP platform. Current profiling tools and gettimeofday() are not sufficient. So I am using get_cycles() to get the CPU cycles. Now ...

# Thread: Calculating time in order of 0.1usec on x86 system

1. ## Calculating time in order of 0.1usec on x86 system

Hi,

I need to calculate time spent by a function in order of less then a microsecond on x86 SMP platform.

Current profiling tools and gettimeofday() are not sufficient.

So I am using get_cycles() to get the CPU cycles.

Now how do I convert it into the time interval?

Do I have to divide it by "cpu_khz" variable? Or some other method?
Is yes, what will be the unit of the result (time interval)? nsec/usec/msec?

e.g. get_cycles()/cpu_khz (unit?)

Or Is there more simpler method exist?

Regards,
Parav Pandit

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

2. ## Re: Calculating time in order of 0.1usec on x86 system

I am getting my desired numbers.
get_cycles()/cpu_khz gives the right time interval on x86 system.

Parav

--- On Tue, 9/30/08, Parav Pandit wrote:

> From: Parav Pandit
> Subject: Calculating time in order of 0.1usec on x86 system
> To: "Linux kernel"
> Date: Tuesday, September 30, 2008, 12:31 PM
> Hi,
>
> I need to calculate time spent by a function in order of
> less then a microsecond on x86 SMP platform.
>
> Current profiling tools and gettimeofday() are not
> sufficient.
>
> So I am using get_cycles() to get the CPU cycles.
>
> Now how do I convert it into the time interval?
>
> Do I have to divide it by "cpu_khz" variable? Or
> some other method?
> Is yes, what will be the unit of the result (time
> interval)? nsec/usec/msec?
>
> e.g. get_cycles()/cpu_khz (unit?)
>
> Or Is there more simpler method exist?
>
> Regards,
> Parav Pandit
>
>
>
> --
> To unsubscribe from this list: send the line
> "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html