Re: [PATCH 0/2] generic/bitops: Always inline some more generic helpers

From: Peter Zijlstra
Date: Fri Jan 14 2022 - 03:12:56 EST


On Thu, Jan 13, 2022 at 05:58:57PM +0100, Marco Elver wrote:
> On Thu, 13 Jan 2022 at 16:53, Borislav Petkov <bp@xxxxxxxxx> wrote:
> >
> > From: Borislav Petkov <bp@xxxxxxx>
> >
> > Hi all,
> >
> > a build report by the 0day robot:
> >
> > https://lore.kernel.org/r/Yc7t934f%2Bf/mO8lj@xxxxxxx
> >
> > made me look at asm and how gcc, at least, generates funky calls to the
> > *_bit() bit manipulation functions on x86 instead of inlining them into
> > the call sites as on x86 that's a single insn, in most of the cases.
> >
> > So PeterZ says the way to go is to always inline them. So here they are.
> > The fun thing is that on x86 there is even a size decrease of more than
> > a Kilobyte for a defconfig, which is nice, see patch 1.
> >
> > As always, comments and suggestions are welcome.
> >
> > Thx.
> >
> > Borislav Petkov (2):
> > asm-generic/bitops: Always inline all bit manipulation helpers
> > cpumask: Always inline helpers which use bit manipulation functions
> >
> > include/asm-generic/bitops/instrumented-atomic.h | 12 ++++++------
> > .../asm-generic/bitops/instrumented-non-atomic.h | 16 ++++++++--------
> > include/linux/cpumask.h | 14 +++++++-------
> > 3 files changed, 21 insertions(+), 21 deletions(-)
>
> Acked-by: Marco Elver <elver@xxxxxxxxxx>
>
> Yup, this is probably something we should have done a long time ago. :-)

Thanks, I'll go stuff it in locking/core.