a proposed callout API

John Polstra jdp at polstra.com
Tue Nov 14 17:26:50 UTC 2006


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


More information about the freebsd-arch mailing list