Mir*_*chi 3 linux time linux-kernel
我需要在kernl-space和用户空间之间交换struct timeval(通过netlink消息),以便计算消息创建和用户空间中的详细说明之间所经过的时间.我正在使用jiffies_to_timeval
内核空间中的函数; 在用户空间我打电话gettimeofday
...但如果我打印两个结构的秒数我得到200秒的差异...我无法弄清楚这个的原因.
有任何想法吗?
谢谢你们!
Linux内部有几个时钟.差异归结为它们是否在机器暂停时打勾,是否试图跟踪"挂钟时间"以及它们的高分辨率.
do_gettimeofday
可能不是你想要使用的,因为那个时钟试图跟踪"挂钟时间"; 也就是说,它实际上可以向前或向后跳跃.如果有人 - 或某些东西(如NTP) - 决定在您阅读它的两次之间设置系统时钟怎么办?
对于时序,我建议使用clock_gettime
带CLOCK_MONOTONIC
时钟ID 的POSIX 功能.(-lrt
尽管如此,您可能必须编译用户空间应用程序.)
我相信clock_gettime
也存在作为内核函数,虽然我目前还没有方便的内核源代码......
归档时间: |
|
查看次数: |
3442 次 |
最近记录: |