[問題] 關於kernel的jiffies值
關於kernel內的時間問題,
常常會看到jiffies這個時間變數,
翻kernel裡面的code也很常看到unsigned long now = jiffies;的寫法
但是把他印出來卻發現這個值有時候會變超大,
例如在 linux-2.6.18\src\net\ipv4\route.c,內約莫3195行左右的
rt_secret_timer.expires = jiffies + net_random() % ip_rt_secret_interval +
ip_rt_secret_interval;
分解成以下寫法:
unsigned long expires_test = 0;
unsigned long now = jiffies;
unsigned long random_test = net_random() % ip_rt_secret_interval;
expires_test = now + random_test + ip_rt_secret_interval;
rt_secret_timer.expires = expires_test;
並把 now, random_test, ip_rt_secret_interval, expires_test印出來看
會看到now=4294937384, random_test=6840, ip_rt_secret_interval=60000,
expires_test=36928。
很明顯的爆了unsigned long的大小造成overflow了阿,這樣kernel沒問題嗎?
還是有什麼patch有對這樣的問題進行修改呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.73.14
※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1407150417.A.566.html
→
08/04 19:38, , 1F
08/04 19:38, 1F
→
08/04 19:39, , 2F
08/04 19:39, 2F
→
08/04 19:39, , 3F
08/04 19:39, 3F
→
08/04 19:42, , 4F
08/04 19:42, 4F
→
08/04 19:42, , 5F
08/04 19:42, 5F
→
08/05 01:59, , 6F
08/05 01:59, 6F
推
08/05 09:09, , 7F
08/05 09:09, 7F
→
08/05 09:09, , 8F
08/05 09:09, 8F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章