Re: [PATCH *] use 64 bit jiffies

Denis Vlasenko
2003-02-04T06:42:33Z

On 3 February 2003 10:28, Matti Aarnio wrote:
> On Mon, Feb 03, 2003 at 08:42:59AM +0200, Denis Vlasenko wrote:
> > On 3 February 2003 00:55, Tim Schmielau wrote:
> > > Just a note that I have rediffed for 2.5.55 the patches that use
> > > the 64 bit jiffies value to avoid uptime and process start time
> > > wrap after 49.5 days. I will push them Linus-wards when he's
> > > back. They can be retrieved from
>
> ....
>
> > Wow... your patches are STILL not included??
> > My 2.4 based server approaches 250 days uptime, it would be a shame
> > to be unable to have uptime < 50 days with 2.5
>
> You don't need to have 64-bit jiffy for things like internal
> timers, nor for uptime tracking.
>
> Timers have well behaving constructs to use 32-bit jiffy quite
> successfully, and 64-bit values, especially atomicish, in 32-bit
> register-poor machines (i386) are damn difficult.
>
> I do have a number of machines with 100 to 300 day uptimes, all
> with "mere" 32-bit jiffy. With 1000 Hz clock that means at least
> one full wrap-around of jiffy.

Your processes will show strange start times, CPU times etc.
This will happen in 2.5 pretty soon (after 50 days uptime).

However, this is a bit cosmetic. There is a much more serious problem:

Jiffy Wrap Bugs

There were reports of machines hanging on jiffy wrap.
This is typically a result of incorrect jiffy use in some driver.
Ask Tim - he is hunting those problems regularly, but he is outnumbered
by buggy driver authors. :(

There is a better solution to ensure correct jiffy wrap handling in
*ALL* kernel code: make jiffy wrap in first five minutes of uptime.
Tim has a patch for such config option. This is almost right.
This MUST NOT be a config option, it MUST be mandatory in every
kernel. Driver writers would be bitten by their own bugs and will
fix it themself. Tim, what do you think?
--
vda