重新启动后,jiffies 没有初始化为零,而是设置为某个高值(靠近环绕)。
例如(重新启动后立即):
cat /proc/timer_list | grep jiffies
.idle_jiffies : 4294902561
.last_jiffies : 4294902561
.next_jiffies : 4294902623
jiffies: 4294902561
.idle_jiffies : 4294902561
.last_jiffies : 4294902561
.next_jiffies : 4294902568
jiffies: 4294902561
.idle_jiffies : 4294902561
.last_jiffies : 4294902561
.next_jiffies : 4294902679
jiffies: 4294902561
.idle_jiffies : 4294902561
.last_jiffies : 4294902561
.next_jiffies : 4294902607
我错过了什么?我正在运行 Ubuntu 12.04 LTS,3.13.0-36-generic。谢谢!
最佳答案
在启动时 jiffies 不是由零初始化,而是由 INITIAL_JIFFIES 常量初始化。
你可以在 linux 内核头文件中看到这个常量:
$ cd your_path_to_linux_kernel_headers
$ grep INITIAL_JIFFIES linux/jiffies.h
#define INITIAL_JIFFIES ((unsigned long)(unsigned int) (-300*HZ))
它是由 this patch 引入的,用于帮助检测与该溢出相关的问题。
抱歉久等了答案。 :)
关于linux - 启动时 Jiffies 不为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26223685/