首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用户空间和内核之间的时间不同步。

用户空间和内核之间的时间不同步。
EN

Stack Overflow用户
提问于 2017-01-03 15:41:54
回答 1查看 313关注 0票数 0

我试图测量内核和用户空间之间的延迟,每1秒触发一次周期性计时器,并将事件通知用户空间(使用ioctl和wake_up_interruptible )。

为此,我创建了一个使用hrtimer的内核模块和一个等待事件的用户空间测试。内核模块正在使用

在内核中:getnstimeofday()

为了获得时间,并且用户空间正在使用:

在用户空间:clock_gettime()

但令人惊奇的是,我看到了来自用户空间和内核的结果时间不同步!

第一届赛事:

用户空间:8866秒896197992nsec;内核:1388251190秒442706727nsec

第二届赛事:

用户空间:8867秒896151470nsec;内核:1388251191秒442690693nsec

您可以看到内核和用户空间时钟不同步,所以我不能真正测量内核和用户空间事件之间的延迟,对吗?

谢谢你的任何想法,Ran

EN

回答 1

Stack Overflow用户

发布于 2017-01-03 15:57:45

从您的测试结果来看,这两个API之间似乎只有一个“偏移”,但是这两个事件的增量(1秒差)来自http://lxr.free-electrons.com/source/kernel/time/timekeeping.c?v=2.6.37#L101http://lxr.free-electrons.com/source/kernel/time/timekeeping.c?v=2.6.37#L101是正确的,后者是内核time“从上一个update_wall_time开始计算增量”。所以他们实际上没有相同的时间系统。(用户空间是获取系统定时器)。我认为,您可以使用名为Ftrace的Linux内核来度量这种延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41447121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档