Messages in this thread | | | Date | Tue, 29 Mar 2005 11:10:37 +0200 (CEST) | From | Jesper Juhl <> | Subject | Re: How to measure time accurately. |
| |
On Mon, 28 Mar 2005, Chris Friesen wrote:
> Date: Mon, 28 Mar 2005 23:07:14 -0600 > From: Chris Friesen <cfriesen@nortel.com> > To: krishna <krishna.c@globaledgesoft.com> > Cc: Linux Kernel <linux-kernel@vger.kernel.org> > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |