来自here:
HZ的值因内核版本而异 硬件平台。在i386上 情况如下:在内核上包括2.4.x,HZ为100, 给出0.01秒的jiffy值;从2.6.0开始,HZ被提升为 1000,给出0.001秒的瞬间。从内核2.6.13开始,HZ值为a 内核配置参数可以是100,250(默认值)或1000, 产生的jiffies值分别为0.01,0.004或0.001秒。 从内核2.6.20开始,可以获得另一个频率:300,一个数字 对于常见的视频帧速率(PAL,25 HZ; NTSC,30 HZ)均匀划分。
那么如何将5usec
转换为jiffies
?
extern unsigned long usecs_to_jiffies(const unsigned int u);
由于jiffies分辨率不足以测量使用秒数,因此它似乎毫无用处。
答案 0 :(得分:4)
如有疑问,请阅读代码!
在这里(可以找到here的版本):
unsigned long usecs_to_jiffies(const unsigned int u)
{
if (u > jiffies_to_usecs(MAX_JIFFY_OFFSET))
return MAX_JIFFY_OFFSET;
#if HZ <= USEC_PER_SEC && !(USEC_PER_SEC % HZ)
return (u + (USEC_PER_SEC / HZ) - 1) / (USEC_PER_SEC / HZ);
#elif HZ > USEC_PER_SEC && !(HZ % USEC_PER_SEC)
return u * (HZ / USEC_PER_SEC);
#else
return (USEC_TO_HZ_MUL32 * u + USEC_TO_HZ_ADJ32)
>> USEC_TO_HZ_SHR32;
#endif
}
所以,它确实有一些东西可以检查是否有快捷方式,如果没有其他工作,可以用一些64位数学来计算出来。
但是5usec将是一个jiffies,无论它运行的代码是什么。