Re: [PATCH 1/2] futex: mark futex_detect_cmpxchg() as 'noinline'

From: Arnd Bergmann
Date: Mon Oct 25 2021 - 09:52:24 EST


On Thu, Jul 22, 2021 at 10:05 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
> On Sat, Dec 12, 2020 at 09:01:34PM +0100, Thomas Gleixner wrote:
> > --- a/arch/arm/Kconfig
> > +++ b/arch/arm/Kconfig
> > @@ -86,6 +86,7 @@ config ARM
> > select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
> > select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
> > select HAVE_FUNCTION_TRACER if !XIP_KERNEL
> > + select HAVE_FUTEX_CMPXCHG if FUTEX
> > select HAVE_GCC_PLUGINS
> > select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
> > select HAVE_IDE if PCI || ISA || PCMCIA
>
> Did this ever get sent along as a formal patch? I just ran into another
> issue that seems to be similar to the one Arnd sent the initial patch in
> this thread for and it is resolved by this change.

Nick sent this patch in September, and Russell applied it as commit
9d417cbe36ee ("ARM: 9122/1: select HAVE_FUTEX_CMPXCHG").
This addresses the problem for arm, but I think we should really
just remove HAVE_FUTEX_CMPXCHG entirely and require it to
be there for SMP.

I have a patch for that, but that needs a separate fix for sparc32,
which I think nobody is interested in working on. I can post it anyway
to get discussion moving again.

Arnd