[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251219112007.2827302-1-edumazet@google.com>
Date: Fri, 19 Dec 2025 11:20:05 +0000
From: Eric Dumazet <edumazet@...gle.com>
To: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, Uros Bizjak <ubizjak@...il.com>,
Linus Torvalds <torvalds@...ux-foundation.org>, x86@...nel.org,
"H . Peter Anvin" <hpa@...or.com>
Cc: linux-kernel <linux-kernel@...r.kernel.org>, Eric Dumazet <eric.dumazet@...il.com>,
Eric Dumazet <edumazet@...gle.com>
Subject: [PATCH 0/2] x86: speedup local_irq_save() for clang
clang generates poor code for local_irq_save() callers,
because of asm "=rm" output constraint being mishandled.
Frst patch adds ASM_OUTPUT_RM macro, extending ASM_INPUT_RM
that Linus added in linux-6.10. Suggested by Uros Bizjak.
Second patch uses it in local_irq_save(), to not penalize gcc
while forcing clang to generate better code especially
when CONFIG_STACKPROTECTOR_STRONG=y.
smap_save() could also use it, but is not in any fast path.
Eric Dumazet (2):
clang: work around asm output constraint problems
x86/irqflags: Use ASM_OUTPUT_RM in native_save_fl()
arch/x86/include/asm/irqflags.h | 2 +-
include/linux/compiler-clang.h | 7 +++++++
include/linux/compiler_types.h | 6 +++++-
3 files changed, 13 insertions(+), 2 deletions(-)
--
2.52.0.322.g1dd061c0dc-goog
Powered by blists - more mailing lists