重新启动后,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。谢谢!
答案 0 :(得分:4)
在启动时,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 引入,以帮助检测与此溢出相关的问题。
很抱歉等待回答。 :)