Linux Fix Pending For Annoying Intel Lunar Lake Laptop Problems
([Intel] 27 Minutes Ago
X86_BUG_MONITOR)
- Reference: 0001504690
- News link: https://www.phoronix.com/news/Intel-Lunar-Lake-Monitor-Bug
- Source link:
A patch is working its way to the mainline Linux kernel for addressing an annoyance affecting new Intel Core Ultra 200V "Lunar Lake" laptops.
The bug affects Intel Lunar Lake laptops in some conditions taking a while to boot as well as at times the laptop keyboards pausing out and in turn often submitting lots of repeated character input. The keyboard issues are very annoying and something I've encountered numerous times on the ASUS Zenbook S 14 with Intel Core Ultra 256V SoC. The keyboard pausing / repeated input on key press issue has been happening for me up to a few times per day when using the Lunar Lake laptop. But as I've just been using the laptop for performance testing/benchmarking and not daily production use, the keyboard issue has just been an annoyance/frustration as opposed to a show-stopper. I had been meaning to look into it but had just assumed it was an ASUS keyboard problem or some bug happening with the embedded controller (EC) or the like specific to this ASUS Zenbook... But it turns out to be a Lunar Lake issue.
Since last month has been [1]this kernel.org bug report around "strange pause during boot up", "strange pause while moving cursor", and "strange pause also happens when typing on the built-in the keyboard." That bug report was off a Lunar Lake powered Dell XPS 13 9350/024653 while my similar input annoyances have been with the ASUS Zenbook S 14.
[2]
Hitting the Linux kernel mailing list today is [3][PATCH] x86/cpu: Add INTEL_LUNARLAKE_M to X86_BUG_MONITOR . Intel Linux engineer Len Brown explains:
"Under some conditions, MONITOR wakeups on Lunar Lake processors can be lost, resulting in significant user-visible delays.
Add LunarLake to X86_BUG_MONITOR so that wake_up_idle_cpu() always sends an IPI, avoiding this potential delay.
Also update the X86_BUG_MONITOR workaround to handle the new smp_kick_mwait_play_dead() path.
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219364"
This Linux "X86_BUG_MONITOR" bug/quirk was originally added ot the Linux kernel back in 2016 for Goldmont CPUs. With Goldmont, monitored cache lines may not wake up from MWAIT. MWAIT is the Monitor Wait instruction as a CPU hint to stop instruction execution and enter an optimized state for power savings. It turns out now that Lunar Lake needs similar treatment to avoid these "significant user-visible delays."
That patch is marked for back-porting to Linux 6.11 and will hopefully land in Linux 6.12 Git in the coming days.
Now knowing this keyboard/input issue is a Lunar Lake problem with a fix en route and then [4]the recent ASUS performance fix for Lunar Lake laptops , the Intel Lunar Lake support is in good shape under Linux for those using the very latest Linux kernel.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=219364
[2] https://www.phoronix.com/image-viewer.php?id=2024&image=lunar_lake_mwait_lrg
[3] https://lore.kernel.org/lkml/20241108135206.435793-3-lenb@kernel.org/
[4] https://www.phoronix.com/review/lunar-lake-linux-improved
The bug affects Intel Lunar Lake laptops in some conditions taking a while to boot as well as at times the laptop keyboards pausing out and in turn often submitting lots of repeated character input. The keyboard issues are very annoying and something I've encountered numerous times on the ASUS Zenbook S 14 with Intel Core Ultra 256V SoC. The keyboard pausing / repeated input on key press issue has been happening for me up to a few times per day when using the Lunar Lake laptop. But as I've just been using the laptop for performance testing/benchmarking and not daily production use, the keyboard issue has just been an annoyance/frustration as opposed to a show-stopper. I had been meaning to look into it but had just assumed it was an ASUS keyboard problem or some bug happening with the embedded controller (EC) or the like specific to this ASUS Zenbook... But it turns out to be a Lunar Lake issue.
Since last month has been [1]this kernel.org bug report around "strange pause during boot up", "strange pause while moving cursor", and "strange pause also happens when typing on the built-in the keyboard." That bug report was off a Lunar Lake powered Dell XPS 13 9350/024653 while my similar input annoyances have been with the ASUS Zenbook S 14.
[2]
Hitting the Linux kernel mailing list today is [3][PATCH] x86/cpu: Add INTEL_LUNARLAKE_M to X86_BUG_MONITOR . Intel Linux engineer Len Brown explains:
"Under some conditions, MONITOR wakeups on Lunar Lake processors can be lost, resulting in significant user-visible delays.
Add LunarLake to X86_BUG_MONITOR so that wake_up_idle_cpu() always sends an IPI, avoiding this potential delay.
Also update the X86_BUG_MONITOR workaround to handle the new smp_kick_mwait_play_dead() path.
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219364"
This Linux "X86_BUG_MONITOR" bug/quirk was originally added ot the Linux kernel back in 2016 for Goldmont CPUs. With Goldmont, monitored cache lines may not wake up from MWAIT. MWAIT is the Monitor Wait instruction as a CPU hint to stop instruction execution and enter an optimized state for power savings. It turns out now that Lunar Lake needs similar treatment to avoid these "significant user-visible delays."
That patch is marked for back-porting to Linux 6.11 and will hopefully land in Linux 6.12 Git in the coming days.
Now knowing this keyboard/input issue is a Lunar Lake problem with a fix en route and then [4]the recent ASUS performance fix for Lunar Lake laptops , the Intel Lunar Lake support is in good shape under Linux for those using the very latest Linux kernel.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=219364
[2] https://www.phoronix.com/image-viewer.php?id=2024&image=lunar_lake_mwait_lrg
[3] https://lore.kernel.org/lkml/20241108135206.435793-3-lenb@kernel.org/
[4] https://www.phoronix.com/review/lunar-lake-linux-improved
phoronix