Linux内核计时器子系统: 精度与分辨率

5
我正在尝试测量Linux内核代码的执行时间,并发现有两个不同的计时器子系统。hrtimers代表高分辨率计时器,而hpet代表高精度事件计时器。
分辨率和精度有何不同?

http://www.mjmwired.net/kernel/Documentation/timers/

1个回答

5
HPET是x86 PC平台硬件的一个特定部分(Linux已提供了驱动程序)。HPET在维基百科上有详细描述:http://en.wikipedia.org/wiki/High_Precision_Event_Timer hrtimers是Linux子系统,提供软件抽象“高分辨率计时器”的通用框架。大多数通用Linux内核代码应使用hrtimers接口,而HPET则是低级、特定于平台的时间保持代码使用的硬件功能。

谢谢!但是你知道在计时器子系统上下文中,精度和分辨率之间是否有区别吗?[]'s - Peter
1
@PeterSenna - 我只是在猜测,但我认为“高分辨率”指的是能够控制比HZ(jiffies)提供的更小的时间步长;“精度”则是处理器/操作系统管理所请求的延迟的好坏程度(例如,即使您重复请求相同的延迟,您也会得到差异)。在https://dev59.com/G-o6XIcBkEYKwwoYNBhQ中,我想要低分辨率(定时器每个jiffy触发一次),但我有一个问题,即精度仍然很差(内核可能会跳过整个jiffy == 整个周期)。 - sdaau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接