Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Sep 1997 07:47:14 +0200 (MET DST)
From:      Finn Arne Gangstad <finnag@guardian.no>
To:        "Justin T. Gibbs" <gibbs@plutotech.com>
Cc:        Archie Cobbs <archie@whistle.com>, current@FreeBSD.ORG
Subject:   Re: timeout management (was: Re: cvs commit: ...) 
Message-ID:  <Pine.LNX.3.95.970925072713.29522A-100000@lucifer.guardian.no>
In-Reply-To: <199709250512.XAA19962@pluto.plutotech.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Wed, 24 Sep 1997, Justin T. Gibbs wrote:

> >Have you guys looked at the timer code in Linux? It basically is a small
> >variation of this, which makes all operations  O(1) for almost
> >every timer.
> 
> It looks like a 5 level hierarchical timing wheel to me.  FreeBSD currently
> has a one level timing wheel.  Cascade_timers should enable interrupts
> at deterministic intervals so that interrupts are defered a deterministic
> amount of time.

In 2.1.X it just grabs the timer spinlock. 2.0.X is pretty much set in
stone really (the new timer code was actually put in in 2.1.23 i think,
but applied to 2.0.30 for efficiency reasons).

There was a lot of discussion on the kernel list about cascace_timers
enabling timers now and then, in practice cascade_timers never move many
timers so it's not really a problem, even less of a problem when it just
grabs the timer lock.

- Finn Arne




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.3.95.970925072713.29522A-100000>