Message ID | 20241017203757.3858885-1-thibault.ferrante@canonical.com |
---|---|
Headers | show |
Series | cpufreq: intel_pstate: Support Emerald Rapids OOB mode | expand |
Acked-by: Ivan Hu <ivan.hu@canonical.com> On 2024/10/18 04:37, Thibault Ferrante wrote: > BugLink: https://bugs.launchpad.net/bugs/2084834 > > [Impact] > > In Emerald Rapids VMs with OOB P-states enabled, a stack trace is > printed during boot on 6.8 based kernels. The stack traces look like: > > [ 1.206658] intel_pstate: Intel P-state driver initializing > [ 1.207453] unchecked MSR access error: WRMSR to 0x199 (tried to write 0x0000000000000800) at rIP: 0xffffffffb94c3b24 (native_write_msr+0x4/0x40) > [ 1.208422] Call Trace: > [ 1.208422] <TASK> > [ 1.208422] ? show_stack_regs+0x23/0x40 > [ 1.208422] ? ex_handler_msr+0x10a/0x180 > [ 1.208422] ? fixup_exception+0x183/0x390 > [ 1.208422] ? gp_try_fixup_and_notify+0x23/0xc0 > [ 1.208422] ? exc_general_protection+0x15e/0x480 > [ 1.208422] ? asm_exc_general_protection+0x27/0x30 > [ 1.208422] ? __pfx___wrmsr_on_cpu+0x10/0x10 > [ 1.208422] ? native_write_msr+0x4/0x40 > [ 1.208422] ? __wrmsr_on_cpu+0x4b/0x90 > [ 1.208422] ? __pfx___rdmsr_on_cpu+0x10/0x10 > [ 1.208422] ? __pfx___wrmsr_on_cpu+0x10/0x10 > [ 1.208422] generic_exec_single+0x7e/0x120 > [ 1.208422] smp_call_function_single+0x103/0x140 > [ 1.208422] ? __pfx___wrmsr_on_cpu+0x10/0x10 > [ 1.208422] wrmsrl_on_cpu+0x57/0x80 > [ 1.208422] intel_pstate_set_pstate+0x3e/0x80 > [ 1.208422] intel_pstate_get_cpu_pstates.constprop.0+0xd7/0x190 > [ 1.208422] intel_pstate_init_cpu+0x3f/0x140 > [ 1.208422] intel_cpufreq_cpu_init+0x44/0x270 > [ 1.208422] ? freq_qos_add_notifier+0x45/0x80 > [ 1.208422] cpufreq_online+0x444/0xb80 > [ 1.208422] cpufreq_add_dev+0x99/0xd0 > [ 1.208422] subsys_interface_register+0x11c/0x140 > [ 1.208422] cpufreq_register_driver+0x1b5/0x330 > [ 1.208422] intel_pstate_register_driver+0x48/0xd0 > [ 1.208422] intel_pstate_init+0x25c/0x810 > [ 1.208422] ? __pfx_intel_pstate_init+0x10/0x10 > [ 1.208422] do_one_initcall+0x5b/0x310 > [ 1.208422] do_initcalls+0x104/0x210 > [ 1.208422] ? __pfx_kernel_init+0x10/0x10 > [ 1.208422] kernel_init_freeable+0x134/0x1f0 > [ 1.208422] kernel_init+0x1b/0x200 > [ 1.208422] ret_from_fork+0x44/0x70 > [ 1.208422] ? __pfx_kernel_init+0x10/0x10 > [ 1.208422] ret_from_fork_asm+0x1b/0x30 > [ 1.208422] </TASK> > > [Fix] > Cherry pick of 7e1c3f584ee7 - cpufreq: intel_pstate: Support Emerald Rapids OOB mode > Upstream since v6.11. > > Very simple change as the OOB identifying bits are same as for the prior > generation CPUs like Sapphire Rapids servers, so also add Emerald Rapids to the > intel_pstate_cpu_oob_ids[] list. > > [Test Plan] > Set HW PM OOB mode in BIOS power management config. > Make sure that no cpufreq drivers are loaded. You can verify that > /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver is not present or any cpufreq interface. > > It's also already part of linux-aws: https://bugs.launchpad.net/bugs/2078894 > > [Where problems could occur] > cpufreq regression. > > Srinivas Pandruvada (1): > cpufreq: intel_pstate: Support Emerald Rapids OOB mode > > drivers/cpufreq/intel_pstate.c | 1 + > 1 file changed, 1 insertion(+) >
Acked-by: Guoqing Jiang <guoqing.jiang@canonical.com> On 10/18/24 04:37, Thibault Ferrante wrote: > BugLink: https://bugs.launchpad.net/bugs/2084834 > > [Impact] > > In Emerald Rapids VMs with OOB P-states enabled, a stack trace is > printed during boot on 6.8 based kernels. The stack traces look like: > > [ 1.206658] intel_pstate: Intel P-state driver initializing > [ 1.207453] unchecked MSR access error: WRMSR to 0x199 (tried to write 0x0000000000000800) at rIP: 0xffffffffb94c3b24 (native_write_msr+0x4/0x40) > [ 1.208422] Call Trace: > [ 1.208422] <TASK> > [ 1.208422] ? show_stack_regs+0x23/0x40 > [ 1.208422] ? ex_handler_msr+0x10a/0x180 > [ 1.208422] ? fixup_exception+0x183/0x390 > [ 1.208422] ? gp_try_fixup_and_notify+0x23/0xc0 > [ 1.208422] ? exc_general_protection+0x15e/0x480 > [ 1.208422] ? asm_exc_general_protection+0x27/0x30 > [ 1.208422] ? __pfx___wrmsr_on_cpu+0x10/0x10 > [ 1.208422] ? native_write_msr+0x4/0x40 > [ 1.208422] ? __wrmsr_on_cpu+0x4b/0x90 > [ 1.208422] ? __pfx___rdmsr_on_cpu+0x10/0x10 > [ 1.208422] ? __pfx___wrmsr_on_cpu+0x10/0x10 > [ 1.208422] generic_exec_single+0x7e/0x120 > [ 1.208422] smp_call_function_single+0x103/0x140 > [ 1.208422] ? __pfx___wrmsr_on_cpu+0x10/0x10 > [ 1.208422] wrmsrl_on_cpu+0x57/0x80 > [ 1.208422] intel_pstate_set_pstate+0x3e/0x80 > [ 1.208422] intel_pstate_get_cpu_pstates.constprop.0+0xd7/0x190 > [ 1.208422] intel_pstate_init_cpu+0x3f/0x140 > [ 1.208422] intel_cpufreq_cpu_init+0x44/0x270 > [ 1.208422] ? freq_qos_add_notifier+0x45/0x80 > [ 1.208422] cpufreq_online+0x444/0xb80 > [ 1.208422] cpufreq_add_dev+0x99/0xd0 > [ 1.208422] subsys_interface_register+0x11c/0x140 > [ 1.208422] cpufreq_register_driver+0x1b5/0x330 > [ 1.208422] intel_pstate_register_driver+0x48/0xd0 > [ 1.208422] intel_pstate_init+0x25c/0x810 > [ 1.208422] ? __pfx_intel_pstate_init+0x10/0x10 > [ 1.208422] do_one_initcall+0x5b/0x310 > [ 1.208422] do_initcalls+0x104/0x210 > [ 1.208422] ? __pfx_kernel_init+0x10/0x10 > [ 1.208422] kernel_init_freeable+0x134/0x1f0 > [ 1.208422] kernel_init+0x1b/0x200 > [ 1.208422] ret_from_fork+0x44/0x70 > [ 1.208422] ? __pfx_kernel_init+0x10/0x10 > [ 1.208422] ret_from_fork_asm+0x1b/0x30 > [ 1.208422] </TASK> > > [Fix] > Cherry pick of 7e1c3f584ee7 - cpufreq: intel_pstate: Support Emerald Rapids OOB mode > Upstream since v6.11. > > Very simple change as the OOB identifying bits are same as for the prior > generation CPUs like Sapphire Rapids servers, so also add Emerald Rapids to the > intel_pstate_cpu_oob_ids[] list. > > [Test Plan] > Set HW PM OOB mode in BIOS power management config. > Make sure that no cpufreq drivers are loaded. You can verify that > /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver is not present or any cpufreq interface. > > It's also already part of linux-aws: https://bugs.launchpad.net/bugs/2078894 > > [Where problems could occur] > cpufreq regression. > > Srinivas Pandruvada (1): > cpufreq: intel_pstate: Support Emerald Rapids OOB mode > > drivers/cpufreq/intel_pstate.c | 1 + > 1 file changed, 1 insertion(+) >