Re: How to measure time accurately.

From: Jesper Juhl
Date: Tue Mar 29 2005 - 04:15:41 EST


On Mon, 28 Mar 2005, Chris Friesen wrote:

> Date: Mon, 28 Mar 2005 23:07:14 -0600
> From: Chris Friesen <cfriesen@xxxxxxxxxx>
> To: krishna <krishna.c@xxxxxxxxxxxxxxxxxx>
> Cc: Linux Kernel <linux-kernel@xxxxxxxxxxxxxxx>
> Subject: Re: How to measure time accurately.
>
> krishna wrote:
> > Hi All,
> >
> > Can any one tell me how to measure time accurately for a block of C code in
> > device drivers.
> > For example, If I want to measure the time duration of firmware download.
>
> Most cpus have some way of getting at a counter or decrementer of various
> frequencies. Usually it requires low-level hardware knowledge and often it
> needs assembly code.
>
>
> On ppc you'd use the mftbu/mftbl instructions, as suggested by Lee on x86
> you'd use the rdtsc instruction.
>

In some cases you can simply count jiffies - depending on how accurate you
need to time things I'd say that often something like this is adequate :


unsigned long start, time_spent;

start = jiffies;
/* do stuff */
time_spent = jiffies - start;
printk("stuff took %d jiffies (%d seconds)\n", time_spent, time_spent/HZ);


--
Jesper Juhl

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