]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
x86/cpu: Add Lunar Lake to list of CPUs with a broken MONITOR implementation
authorLen Brown <len.brown@intel.com>
Wed, 13 Nov 2024 02:07:00 +0000 (21:07 -0500)
committerDave Hansen <dave.hansen@linux.intel.com>
Wed, 4 Dec 2024 20:30:14 +0000 (12:30 -0800)
Under some conditions, MONITOR wakeups on Lunar Lake processors
can be lost, resulting in significant user-visible delays.

Add Lunar Lake to X86_BUG_MONITOR so that wake_up_idle_cpu()
always sends an IPI, avoiding this potential delay.

Reported originally here:

https://bugzilla.kernel.org/show_bug.cgi?id=219364

[ dhansen: tweak subject ]

Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc:stable@vger.kernel.org
Link: https://lore.kernel.org/all/a4aa8842a3c3bfdb7fe9807710eef159cbf0e705.1731463305.git.len.brown%40intel.com
arch/x86/kernel/cpu/intel.c

index d1de300af17374315a5771b64407b744bd963fe7..8ded9f859a3a964314579100ca0608256d347eec 100644 (file)
@@ -555,7 +555,9 @@ static void init_intel(struct cpuinfo_x86 *c)
             c->x86_vfm == INTEL_WESTMERE_EX))
                set_cpu_bug(c, X86_BUG_CLFLUSH_MONITOR);
 
-       if (boot_cpu_has(X86_FEATURE_MWAIT) && c->x86_vfm == INTEL_ATOM_GOLDMONT)
+       if (boot_cpu_has(X86_FEATURE_MWAIT) &&
+           (c->x86_vfm == INTEL_ATOM_GOLDMONT ||
+            c->x86_vfm == INTEL_LUNARLAKE_M))
                set_cpu_bug(c, X86_BUG_MONITOR);
 
 #ifdef CONFIG_X86_64