request for review, callout fix.

Alfred Perlstein alfred at freebsd.org
Fri Mar 21 04:32:26 UTC 2008


Hi guys, attached is a fix for the timeout/untimeout race with
Giant locked code.

Basically the old code would make the callout inaccessable
right before calling it inside of softclock.

However only the callout lock is held, so when switching to
the callout's associated mutex (in this case Giant) there's
a race where a "local" (timeout/untimeout) callout would be
fired even if stopped.

This patch fixes that.  We've run several hours of regression
testing on a version of this for 6.x.

People internal to Juniper and iedowse@ helped with this.

Please review/comment.

thank you,
-- 
- Alfred Perlstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kern_timeout.diff
Type: text/x-diff
Size: 1396 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-smp/attachments/20080321/d8e3c8d9/kern_timeout.bin


More information about the freebsd-smp mailing list