diff options
author | Eric Biggers <ebiggers@google.com> | 2025-01-27 14:45:23 -0800 |
---|---|---|
committer | Dave Hansen <dave.hansen@linux.intel.com> | 2025-02-10 14:45:59 -0800 |
commit | ccb7735a1ea22621f21c3133e4f5f3da5fe5f5b7 (patch) | |
tree | b3764d81f45f2bcfcf64e0de43c6998b0bc61ab1 | |
parent | a64dcfb451e254085a7daee5fe51bf22959d52d3 (diff) |
x86/fpu: Fully optimize out WARN_ON_FPU()
Currently WARN_ON_FPU evaluates its argument even if
CONFIG_X86_DEBUG_FPU is disabled, which adds unnecessary instructions to
several functions, for example kernel_fpu_begin(). Fix this by using
BUILD_BUG_ON_INVALID(x) in the no-debug case rather than (void)(x).
Fixes: 83242c515881 ("x86/fpu: Make WARN_ON_FPU() more robust in the !CONFIG_X86_DEBUG_FPU case")
Suggested-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/all/20250127224523.94300-1-ebiggers%40kernel.org
-rw-r--r-- | arch/x86/kernel/fpu/internal.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/fpu/internal.h b/arch/x86/kernel/fpu/internal.h index dbdb31f55fc7..975de070c9c9 100644 --- a/arch/x86/kernel/fpu/internal.h +++ b/arch/x86/kernel/fpu/internal.h @@ -18,7 +18,7 @@ static __always_inline __pure bool use_fxsr(void) #ifdef CONFIG_X86_DEBUG_FPU # define WARN_ON_FPU(x) WARN_ON_ONCE(x) #else -# define WARN_ON_FPU(x) ({ (void)(x); 0; }) +# define WARN_ON_FPU(x) ({ BUILD_BUG_ON_INVALID(x); 0; }) #endif /* Used in init.c */ |