Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Feb 2015 16:45:30 -0500
From:      randall <rrs@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r278472 - in head/sys: netinet netinet6
Message-ID:  <54D92A7A.9000300@freebsd.org>
In-Reply-To: <1903622.i3cFFNVYcL@ralph.baldwin.cx>
References:  <201502091928.t19JSC5P066293@svn.freebsd.org> <1903622.i3cFFNVYcL@ralph.baldwin.cx>

next in thread | previous in thread | raw e-mail | index | archive | help

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
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54D92A7A.9000300>