Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Nov 2006 09:26:45 -0800 (PST)
From:      John Polstra <jdp@polstra.com>
To:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc:        arch@freebsd.org
Subject:   RE: a proposed callout API
Message-ID:  <XFMail.20061114092645.jdp@polstra.com>
In-Reply-To: <7105.1163451221@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 13-Nov-2006 Poul-Henning Kamp wrote:
> 
> A number of problems have been identified with our current callout
> code and I have been thinking about and discussed various aspects
> with people during the EuroBSDcon2007 conference.
> 
> A lot of people are interested in this, so here is a quick sketch
> of what I'm thinking about:
> 
> 
> The Problems
> ------------
> 
> 1. We need better resolution than a periodic "hz" clock can give us.
>    Highspeed networking, gaming servers and other real-time apps want
>    this.
> 
> 2. We "pollute" our call-wheel with tons of callouts that we know are
>    unlikely to happen.
> 
> 3. We have many operations on the callout wheel because certain
>    callouts gets rearmed for later in the future.  (TCP keepalives).
> 
> 4. We execute all callouts on one CPU only.
> 
> 5. Most of the specified timeouts are bogus, because of the imprecision
>    inheret in the current 1/hz method of scheduling them.
> 
> and a number of other issues.
> 
> 
> The proposed API
> ----------------

I like the proposed API.  FWIW, the problems you listed that are
most important to me are #4 and #1.  Inexpensive automatic rearming
for periodic timeouts is also important.

John



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20061114092645.jdp>