如前面的答案所說,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
你不應該期望什麼比毫秒精度更好。