Simpler SMP-friendly callout/timeout semantics

Poul-Henning Kamp phk at phk.freebsd.dk
Tue Nov 30 10:03:22 PST 2004


In message <200411172322.aa34520 at salmon.maths.tcd.ie>, Ian Dowse writes:
>
>The current callout/timeout API supports Giant-locked and MP-safe
>usage options, but in both cases it is very difficult to use the
>API in a way that is free of race conditions and complications.
>Below is an attempt to extend that API to offer much simpler semantics
>to many users while not limiting its usefulness or performance.
>
>Do people think that a change like this is worth attempting? Are
>there further improvements that could be made or any other suggestions
>or comments?

Sounds good to me.

Do you try to optimize softclock to not stall on the mutex and instead
find any other pending callouts to handle ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-arch mailing list