[lkml]   [2008]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: printing current system time from kernel space

john stultz wrote:
> On Mon, Sep 22, 2008 at 1:28 PM, john stultz <> wrote:
>> On Sun, Sep 21, 2008 at 10:18 PM, George Nychis <> wrote:
>>> I am looking to measure the latency of USB data between kernel space and
>>> user space. The user space driver uses a URB to get data from the device to
>>> the kernel and finally to user space.
>>> To measure this latency, I was thinking of printing the current system time
>>> when a read occurs/succeeds in drivers/usb/core/devio.c at the function
>>> usbdev_read(), and then again in user space when the URB succeeds in
>>> reading. Then, I could subtract the two times to get the latency.
>>> I spent some time googling, but could not find out how or if it is possible
>>> to read the current system time in kernel space. I could insert a printk()
>>> somewhere in usbdev_read() then.
>>> If it is not possible to read the current system time, is there some other
>>> shared clock between kernel and user space that I could use for this?
>> Kernel: getnstimeofday()
>> Userland: clock_gettime(CLOCK_MONOTONIC, ...)
>> Those two should give you the same data. So printing timespecs from
>> kernel space that come from getnstimeofday() and comparing it to
>> userland clock_gettime(CLOCK_MONOTONIC,...) hopefully will give you
>> what you want.
> Gah! Typed too fast. The above is wrong. You want to use
> clock_gettime(CLOCK_REALTIME,...) not CLOCK_MONOTONIC with
> getnstimeofday().
> Sorry for the confusion.
> -john

Thanks John!

This is exactly what I am looking for.

- George

 \ /
  Last update: 2008-09-22 22:35    [W:0.022 / U:4.216 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site