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>