linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* x86/apic: Drop useless CXL/CPX row from the TSC deadline errata table
@ 2025-07-16 16:08 Andrew Cooper
  2025-07-17 20:25 ` Sohil Mehta
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cooper @ 2025-07-16 16:08 UTC (permalink / raw)
  To: LKML
  Cc: Andrew Cooper, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	Dave Hansen, x86, H. Peter Anvin, Peter Zijlstra, Sohil Mehta,
	Yuntao Wang, Zhang Rui

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),

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: x86/apic: Drop useless CXL/CPX row from the TSC deadline errata table
  2025-07-16 16:08 x86/apic: Drop useless CXL/CPX row from the TSC deadline errata table Andrew Cooper
@ 2025-07-17 20:25 ` Sohil Mehta
  2025-07-18 10:43   ` Andrew Cooper
  0 siblings, 1 reply; 4+ messages in thread
From: Sohil Mehta @ 2025-07-17 20:25 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, Peter Zijlstra, Yuntao Wang, Zhang Rui, LKML

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.
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: x86/apic: Drop useless CXL/CPX row from the TSC deadline errata table
  2025-07-17 20:25 ` Sohil Mehta
@ 2025-07-18 10:43   ` Andrew Cooper
  2025-07-18 19:25     ` Sohil Mehta
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cooper @ 2025-07-18 10:43 UTC (permalink / raw)
  To: Sohil Mehta
  Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, Peter Zijlstra, Yuntao Wang, Zhang Rui, LKML

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: x86/apic: Drop useless CXL/CPX row from the TSC deadline errata table
  2025-07-18 10:43   ` Andrew Cooper
@ 2025-07-18 19:25     ` Sohil Mehta
  0 siblings, 0 replies; 4+ messages in thread
From: Sohil Mehta @ 2025-07-18 19:25 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, Peter Zijlstra, Yuntao Wang, Zhang Rui, LKML

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-07-18 19:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-16 16:08 x86/apic: Drop useless CXL/CPX row from the TSC deadline errata table Andrew Cooper
2025-07-17 20:25 ` Sohil Mehta
2025-07-18 10:43   ` Andrew Cooper
2025-07-18 19:25     ` Sohil Mehta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).