[PATCH] um/asm: Replace "REP; NOP" with PAUSE mnemonic

Uros Bizjak ubizjak at gmail.com
Tue Apr 15 22:53:56 PDT 2025


On Tue, Apr 15, 2025 at 7:56 PM David Laight
<david.laight.linux at gmail.com> wrote:
>
> On Mon, 14 Apr 2025 16:55:57 +0200
> Uros Bizjak <ubizjak at gmail.com> wrote:
>
> > Current minimum required version of binutils is 2.25,
> > which supports PAUSE instruction mnemonic.
> >
> > Replace "REP; NOP" with this proper mnemonic.
> >
> > No functional change intended.
> >
> > Signed-off-by: Uros Bizjak <ubizjak at gmail.com>
> > Cc: Richard Weinberger <richard at nod.at>
> > Cc: Anton Ivanov <anton.ivanov at cambridgegreys.com>
> > Cc: Johannes Berg <johannes at sipsolutions.net>
> > Cc: Thomas Gleixner <tglx at linutronix.de>
> > Cc: Ingo Molnar <mingo at kernel.org>
> > Cc: Borislav Petkov <bp at alien8.de>
> > Cc: Dave Hansen <dave.hansen at linux.intel.com>
> > Cc: "H. Peter Anvin" <hpa at zytor.com>
> > ---
> >  arch/x86/um/asm/processor.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/x86/um/asm/processor.h b/arch/x86/um/asm/processor.h
> > index 478710384b34..233a7a0d29c9 100644
> > --- a/arch/x86/um/asm/processor.h
> > +++ b/arch/x86/um/asm/processor.h
> > @@ -24,7 +24,7 @@
> >  /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
> >  static __always_inline void rep_nop(void)
> >  {
> > -     __asm__ __volatile__("rep;nop": : :"memory");
> > +     __asm__ __volatile__("pause": : :"memory");
> >  }
> >
>
> That only makes sense if you also change the function name.

This function is used in several places, and is also defined for x86
in arch/x86/include/asm/vdso/processor.h. The renaming should be
coordinated with x86 and should definitely be a separate patch.

Uros.



More information about the linux-um mailing list