Re: [PATCH] um/asm: Replace "REP; NOP" with PAUSE mnemonic
From: David Laight
Date: Tue Apr 15 2025 - 13:56:12 EST
On Mon, 14 Apr 2025 16:55:57 +0200
Uros Bizjak <ubizjak@xxxxxxxxx> 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@xxxxxxxxx>
> Cc: Richard Weinberger <richard@xxxxxx>
> Cc: Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx>
> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> ---
> 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.
David
> static __always_inline void cpu_relax(void)