【发布时间】:2017-05-17 18:12:05
【问题描述】:
我正在尝试测量内核和用户空间之间的延迟,方法是每 1 秒触发一次定期计时器,并通知用户空间该事件(使用 ioctl 和 wake_up_interruptible。
为此,我创建了一个使用 hrtimer 的内核模块,以及等待事件的用户空间测试。 内核模块正在使用
在内核中:getnstimeofday(),
获取时间,用户空间正在使用:
在用户空间中:clock_gettime()。
但令人惊奇的是,我看到用户空间和内核的结果时间不同步!
第一个事件:
用户空间:8866[sec] 896197992[nsec];内核:1388251190[sec] 442706727[nsec]
第二次活动:
用户空间:8867[sec] 896151470[nsec];内核:1388251191[sec] 442690693[nsec]
你可以看到内核和用户空间时钟不同步, 所以我无法真正测量内核和用户空间事件之间的延迟,对吧?
感谢您的任何想法, 然
【问题讨论】: