Patch is at http://leaf.dragonflybsd.org/~joerg/changes_vs_matt.diff
Just apply it after Matt's changes to i386/i386/machdep.c, kern/kern_clock.c,
kern_kern_timeout.c and sys/callout.c.
It uses still callout internally and the overhead of the additional entries
in struct timeout can be reduced by altering the callout implementation,
but it should be enough to illustrate the perpuse.
Joerg