[PATCH] microoptimize locking primitives by avoiding unnecessary atomic ops

John Baldwin jhb at freebsd.org
Fri May 27 23:21:35 UTC 2016


On Friday, May 27, 2016 09:17:01 PM Mateusz Guzik wrote:
> Hello there,
> 
> quite some time ago I posted a trivial patch to locking primitives. What
> they do is the inline part tries an atomic op and if that fails the
> actual function is called, which immediately tries the same op.
> 
> The obvious optimisation checks for the availability of the lock first.
> 
> There concerns about the way it was done previously by relying on
> volatile behaving in a specific way.
> 
> Later a simplified version was posted which should not have the concern,
> but the thread died.
> 
> I refer you to https://lists.freebsd.org/pipermail/freebsd-current/2015-November/058100.html
> for simple benchmark results.
> 
> I would like to get the patch in before 11 freeze.

I think this looks fine.  Thanks for expanding the previous patch to cover
more primitives.

-- 
John Baldwin


More information about the freebsd-current mailing list