sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #32544
Re: Nulstillet uptime på RH 5.2
In <3.0.5.32.20010123121220.00bf8230@xxxxxxxxxxxxx> "Uffe R. B. Andersen" <urb@xxxxxxx> writes:
>At 11:13 23-01-01 +0100, you wrote:
>>Jeps. Det er ikke rewdhat, men kernen.
>>
>>Kerne 2.0.x?
>>Den løber over ved 497,etellerandet dage.
>Ja, undskyld - det havde jeg lige glemt at skrive :( Det er en kerne
>v.2.0.36. Har du evt. en reference til et sted, hvor jeg kan læse om det
>(læs: dokumentere det overfor skeptikere ;)?
Kerne sourcen ?
Det er faktisk ret enkelt. Linux kernen har en indbygget tæller, der
starter på 0 når du booter, og tæller 1 op 100 gange per sekund
(De 100 er "HZ" værdien i include/asm/param.h)
Da tælleren på en Intel maskine - kaldet "jiffies", defineret i
kernel/sched.c - er defineret som
unsigned long volatile jiffies=0;
har den altså en max. værdi på 2^32-1, da en "unsigned long" er
32 bit stor. Den kan altså tælles op (2^32-1) gange før den
overflow'er, og det bliver til 497 dage, 2 timer, 27 minutter
og 52,95 sekunder.
Det var også emnet for en ret lang diskussion og serie patches på
linux-kernel mailing listen for nogen tid siden - der affødte en
større oprydning i brugen af "jiffies" tælleren rundt omkring i
kernen, forud for en opdatering af 2.2 kerne sourcen. Så der står
sikkert noget i Linux Weekly News fra dengang.
Problemet er rettet nu, så nyere 2.2 kerner og alle 2.4 kerner
håndterer dette "jiffie wrap" uden problemer.
--
Henrik Storner | "ATA100 is another testimony to the fact that
<henrik@xxxxxxxxxx> | pigs can be made to fly given sufficient thrust"
|
| Linux kernel hacker Alan Cox, on IDE drives
Follow ups
References