svn commit: r278472 - in head/sys: netinet netinet6

randall rrs at freebsd.org
Mon Feb 9 21:45:43 UTC 2015


On 2/9/15 3:11 PM, John Baldwin wrote:
> Eh, I looked at it, but I really, really don't like it.  I think
> callout_init_*() should be preferred to CALLOUT_MPSAFE whenever possible as it
> is less race-prone.  I think this should probably be fixed by adding Hans'
> callout_drain_async() instead, though this is fine as a temporary workaround.

I know you did not like it, and I think in principle I agree with you that
a new callout_drain_async() needs to be introduced to the KPI for callout.

That all being said in this one case, I do think the right immediate fix 
(until
thats ready) was to make it MPSAFE like I did. In this particular 
instance init'ing
with the lock was exactly the wrong thing to do with the reference 
counting that
was going on.

Yes, we need to get the drain_async.. but that will take more time and 
more poking
at the callout system to make sure its solid before we start switching 
things to use it.
And this I think was panic'ing a *lot* of systems..

R
>



More information about the svn-src-all mailing list