Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Feb 2015 15:09:46 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Randall Stewart <rrs@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r278469 - in head/sys: kern sys
Message-ID:  <1619204.FQlXD7hmMU@ralph.baldwin.cx>
In-Reply-To: <201502091919.t19JJjbg061542@svn.freebsd.org>
References:  <201502091919.t19JJjbg061542@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, February 09, 2015 07:19:45 PM Randall Stewart wrote:
> Author: rrs
> Date: Mon Feb  9 19:19:44 2015
> New Revision: 278469
> URL: https://svnweb.freebsd.org/changeset/base/278469
> 
> Log:
>   This fixes two conditions that can incur when migration
>   is being done in the callout code and harmonizes the macro
>   use.:
>   1) The callout_active() will lie. Basically if a migration
>      is occuring and the callout is about to expire and the
>      migration has been deferred, the callout_active will no
>      longer return true until after the migration. This confuses
>      and breaks callers that are doing callout_init(&c, 1); such
>      as TCP.
>   2) The migration code had a bug in it where when migrating, if
>      a two calls to callout_reset came in and they both collided with
>      the callout on the wheel about to run, then the second call to
>      callout_reset would corrupt the list the callout wheel uses
>      putting the callout thread into a endless loop.
>   3) Per imp, I have fixed all the macro occurance in the code that
>      were for the most part being ignored.
> 
>   Phabricator D1711 and looked at by lstewart and jhb and sbruno.
>   Reviewed by:	kostikbel, imp, adrian, hselasky
>   MFC after:	3 days
>   Sponsored by:	Netflix Inc.

Thank you guys for working together to fix the migration race in a way
that lets CALLOUT_MPSAFE timers use multiple CPUs still.

I do think that callout_drain_async() would also be useful to add.

-- 
John Baldwin



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