您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将jiffies转换为毫秒

将jiffies转换为毫秒

如先前的回答所述,jiffies增量的速率是固定的。

为接受的函数指定时间的标准方法jiffies是使用常数HZ

那是Hertz的缩写,或每秒的刻度数。在计时器滴答设置为1ms的系统上,HZ = 1000。一些发行版或体系结构可能使用另一个数字(以前是100)。

指定jiffies函数计数的标准方法是使用HZ,如下所示:

schedule_timeout(HZ / 10);  /* Timeout after 1/10 second */

在最简单的情况下,这可以正常工作。

2*HZ     /* 2 seconds in jiffies */
HZ       /* 1 second in jiffies */
foo * HZ /* foo seconds in jiffies */
HZ/10    /* 100 milliseconds in jiffies */
HZ/100   /* 10 milliseconds in jiffies */
bar*HZ/1000 /* bar milliseconds in jiffies */

最后两个有一个问题,但是,在具有10 ms计时器滴答的系统上,该HZ/100值为1,并且精度开始受到影响。您可能会在0.0001到1.999之间的任何时间间隔内获得延迟(本质上是0-2毫秒)。如果您尝试HZ/200在10ms的滴答系统上使用,则整数除法会给您0个捷夫!

因此,经验法则是,请小心使用HZ来获取微小值(接近1个吉菲)。

要进行另一种转换,可以使用:

jiffies / HZ          /* jiffies to seconds */
jiffies * 1000 / HZ   /* jiffies to milliseconds */

您不应该期望比毫秒精度更好的东西。

其他 2022/1/1 18:22:38 有515人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶