x86/cpu: Use cpu_feature_enabled() when checking global pages support
authorBorislav Petkov (AMD) <bp@alien8.de>
Wed, 25 Jan 2023 07:50:13 +0000 (08:50 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 25 Jan 2023 09:32:06 +0000 (10:32 +0100)
X86_FEATURE_PGE determines whether the CPU has enabled global page
translations support. Use the faster cpu_feature_enabled() check to
shave off some more cycles when flushing all TLB entries, including the
global ones.

What this practically saves is:

   mov    0x82eb308(%rip),%rax        # 0xffffffff8935bec8 <boot_cpu_data+40>
   test   $0x20,%ah

... which test the bit. Not a lot, but TLB flushing is a timing-sensitive
path, so anything to make it even faster.

No functional changes.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230125075013.9292-1-bp@alien8.de
arch/x86/mm/tlb.c

index c1e31e9a85d76d70e4c8eb0121c2df2391424890..92d73ccede70d6c6fba85fff37170aba8df963e6 100644 (file)
@@ -1205,7 +1205,7 @@ void __flush_tlb_all(void)
         */
        VM_WARN_ON_ONCE(preemptible());
 
-       if (boot_cpu_has(X86_FEATURE_PGE)) {
+       if (cpu_feature_enabled(X86_FEATURE_PGE)) {
                __flush_tlb_global();
        } else {
                /*