Uptime Overflow

fabio@kalle:~$ uptime
18:10:52 up 1 day, 22:37,  2 users,  load average: 0.09, 0.18, 0.24

“Fabulus hai fatto tu un reboot di kalle?” mi chiede il Corra.

fabio@kalle:~$ last reboot
wtmp begins Tue Dec  2 18:01:21 2003

Cosa cavolo sta’ succedendo…
WOW abbiamo mandato in overflow l’uptime!

La variabile che contiene il valore di uptime è definita a 32 bit.

fabio@gnu:~$ grep jiffies /usr/src/linux-2.4.21/include/linux/sched.h
extern unsigned long volatile jiffies;

Visto che il tempo di uptime è misurato in jiffies ovvero in centesimi di secondo:

fabio@gnu:~$ dc -e "2 32 ^ 100 / 3600 24 * / p"
497

…dopo 497 giorni: *overflow*