Re: [PATCH 4/6] lib/refcount: Move bulk of REFCOUNT_FULL implementation into header

From: Will Deacon
Date: Fri Aug 09 2019 - 12:04:35 EST


On Fri, Aug 02, 2019 at 07:23:07PM -0700, Kees Cook wrote:
> On Fri, Aug 02, 2019 at 08:52:22PM +0200, Peter Zijlstra wrote:
> > On Fri, Aug 02, 2019 at 11:09:58AM +0100, Will Deacon wrote:
> > > In an effort to improve performance of the REFCOUNT_FULL implementation,
> > > move the bulk of its functions into linux/refcount.h. This allows them
> > > to be inlined in the same way as if they had been provided via
> > > CONFIG_ARCH_HAS_REFCOUNT.
> >
> > Hehe, they started out this way, then Linus said to stuff them in a C
> > file :-)
>
> I asked this at the time and didn't quite get a straight answer; Linus's
> request was private:
>
> https://lore.kernel.org/lkml/20170213180020.GK6500@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
>
> It seemed sensible to me (then and now) to have them be inline if there
> were so many performance concerns about it, etc. Was it just the image
> size bloat due to the WARNs? So... since we're back to this topic. Why
> should they not be inline?

I mean, I can always just move this into an arm64-specific implementation
if I have to, but it seems a shame given that it's completely generic and
seems to perform just as well as the x86-specific implementation on my
laptop.

Will