天天看點

linux将時間轉換成毫秒數,linux – 将jiffies轉換為毫秒

如前面的答案所說,jiffies增量的速率是固定的。

為接受jiffies的函數指定時間的标準方法是使用常量HZ。

這是Hertz的縮寫,或每秒鐘的刻度數。在定時器标記設定為1ms的系統上,HZ = 1000。一些分布或體系結構可以使用另一個數字(100是常見的)。

為函數指定jiffies計數的标準方法是使用HZ,如下所示:

schedule_timeout(HZ / 10);

在大多數簡單的情況下,這工作正常。

2*HZ

HZ

foo * HZ

HZ/10

HZ/100

bar*HZ/1000

然而,最後兩個有一個問題,因為在具有10毫秒定時器滴答的系統上,HZ / 100為1,精度開始受損。您可能會在0.0001和1.999之間的任何時間延遲計時器滴答(基本上為0-2 ms)。如果你試圖在10ms tick系統上使用HZ / 200,整數除法給你0 jiffies!

是以經驗法則是,非常小心地使用HZ的微小的值(那些接近1吉菲)。

要轉換另一種方式,您将使用:

jiffies / HZ

jiffies * 1000 / HZ

你不應該期望什麼比毫秒精度更好。