On Monday 13 July 2009 2:49:24 pm Robert N. M. Watson wrote: > > On 13 Jul 2009, at 19:17, John Baldwin wrote: > > >> Callouts are marked as MPSAFE or non-MPSAFE when registered. If > >> non-MPSAFE, > >> we will acquire Giant automatically for the callout, but I believe > >> we'll also > >> try and sort non-MPSAFE callouts behind MPSAFE ones in execution > >> order to > >> minimize latency for MPSAFE callouts. Most callouts acquire locks > >> of some > >> sort, and stalling any callout indefinitely will stall the entire > >> callout > >> thread indefinitely, which in turn could lead to a variety of odd > >> behaviors > >> and potentially (although not necessarily) deadlock. > > > > FWIW, we do not actually sort the callouts in this manner, so all > > callouts > > will be blocked until Giant is acquired. > > I must have been remembering a proposed change -- as you say, it's > certainly not in kern_timeout.c. However, I'd rather just eliminate > support for Giant in callouts in 9.x than try to further facilitate > them :-)
Agreed. :) -- John Baldwin _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[email protected]"

