Messages in this thread | | | Date | Fri, 16 Feb 2007 14:40:59 -0500 | From | Jeff Muizelaar <> | Subject | Re: Using sched_clock for mmio-trace |
| |
On Fri, Feb 16, 2007 at 09:02:44PM +0100, Andi Kleen wrote: > Jeff Muizelaar <jeff@infidigm.net> writes: > > > > The question is, what api should I be using? I need something that can > > be called from inside interrupt handlers, and obviously the more > > accurate and the lower the overhead the better. > > Use do_gettimeofday(). sched_clock() is not for general use > and only for some very limited use cases and will give you > unexpected results in several cases. > > There are a few cases where gtod is still a little slow, but these > are being addressed. In many cases it is fast. In some hardware > it stays slow, but there is not much that can be done about that > because of the hardware design. > > It works fine from interrupt handlers and other strange contexts.
Ok, I'll probably use it then. How does the overhead of calling do_gettimteofday() compare to doing an mmio read/write over PCI express? i.e. is it going to be a performance problem if I call do_gettimeofday for every mmio read/write?
Also, is there any good reason blk-trace doesn't use do_gettimeofday()?
-Jeff - 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/
| |