A microcode revision of 0 is guaranteed to exit apic_validate_deadline_timer()
early, but a better way is with no row at all.
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Ingo Molnar <mingo@redhat.com>
CC: Borislav Petkov <bp@alien8.de>
CC: Dave Hansen <dave.hansen@linux.intel.com>
CC: x86@kernel.org
CC: "H. Peter Anvin" <hpa@zytor.com>
CC: Peter Zijlstra <peterz@infradead.org>
CC: Sohil Mehta <sohil.mehta@intel.com>
CC: Yuntao Wang <yuntao.wang@linux.dev>
CC: Zhang Rui <rui.zhang@intel.com>
CC: linux-kernel@vger.kernel.org
Strictly speaking, this is:
Fixes: 66abf2388331 ("x86/apic: Convert the TSC deadline timer matching to steppings macro")
but I really don't think it's interesting to backport.
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index d73ba5a7b623..6ace71c52bee 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -522,7 +522,6 @@ static const struct x86_cpu_id deadline_match[] __initconst = {
X86_MATCH_VFM_STEPS(INTEL_SKYLAKE_X, 0x3, 0x3, 0x01000136),
X86_MATCH_VFM_STEPS(INTEL_SKYLAKE_X, 0x4, 0x4, 0x02000014),
- X86_MATCH_VFM_STEPS(INTEL_SKYLAKE_X, 0x5, 0xf, 0),
X86_MATCH_VFM(INTEL_HASWELL, 0x22),
X86_MATCH_VFM(INTEL_HASWELL_L, 0x20),
On 7/16/2025 9:08 AM, Andrew Cooper wrote: > A microcode revision of 0 is guaranteed to exit apic_validate_deadline_timer() > early, but a better way is with no row at all. > Yeah, not having an entry is much better. "exit" can be a bit ambiguous. Should we be slightly more precise? A microcode revision of 0 is guaranteed to return true for apic_validate_deadline_timer(), but a better way is with no row at all. > No functional change. > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > --- Reviewed-by: Sohil Mehta <sohil.mehta@intel.com> > CC: Thomas Gleixner <tglx@linutronix.de> > CC: Ingo Molnar <mingo@redhat.com> > CC: Borislav Petkov <bp@alien8.de> > CC: Dave Hansen <dave.hansen@linux.intel.com> > CC: x86@kernel.org > CC: "H. Peter Anvin" <hpa@zytor.com> > CC: Peter Zijlstra <peterz@infradead.org> > CC: Sohil Mehta <sohil.mehta@intel.com> > CC: Yuntao Wang <yuntao.wang@linux.dev> > CC: Zhang Rui <rui.zhang@intel.com> > CC: linux-kernel@vger.kernel.org > > Strictly speaking, this is: > > Fixes: 66abf2388331 ("x86/apic: Convert the TSC deadline timer matching to steppings macro") > > but I really don't think it's interesting to backport. >
On 17/07/2025 9:25 pm, Sohil Mehta wrote: > On 7/16/2025 9:08 AM, Andrew Cooper wrote: >> A microcode revision of 0 is guaranteed to exit apic_validate_deadline_timer() >> early, but a better way is with no row at all. >> > Yeah, not having an entry is much better. "exit" can be a bit ambiguous. > Should we be slightly more precise? It's "exit $foo early", although this is slightly hidden by the linebreak. Alternatively, it could be phrased as "exit early from $foo" if you think that's clearer? > > A microcode revision of 0 is guaranteed to return true for > apic_validate_deadline_timer(), but a better way is with no row at all. > >> No functional change. >> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> >> --- > Reviewed-by: Sohil Mehta <sohil.mehta@intel.com> Thanks. ~Andrew
On 7/18/2025 3:43 AM, Andrew Cooper wrote: > On 17/07/2025 9:25 pm, Sohil Mehta wrote: >> On 7/16/2025 9:08 AM, Andrew Cooper wrote: >>> A microcode revision of 0 is guaranteed to exit apic_validate_deadline_timer() >>> early, but a better way is with no row at all. >>> >> Yeah, not having an entry is much better. "exit" can be a bit ambiguous. >> Should we be slightly more precise? > > It's "exit $foo early", although this is slightly hidden by the linebreak. > Sorry, I was being too finicky. I meant that a microcode revision of 0 would cause apic_validate_deadline_timer() to exit with the return value of true. if (boot_cpu_data.microcode >= rev) return true; Not having a row as well would return true because of: m = x86_match_cpu(deadline_match); if (!m) return true; I wanted to highlight that apic_validate_deadline_timer() would return *true* in both cases, rather than just "exit" early. What you have right now is okay as well :) > Alternatively, it could be phrased as "exit early from $foo" if you > think that's clearer? > >> >> A microcode revision of 0 is guaranteed to return true for >> apic_validate_deadline_timer(), but a better way is with no row at all. >> Sohil
© 2016 - 2025 Red Hat, Inc.