Thinkpad X1 Carbon 上的省电调节器系统无响应

Thinkpad X1 Carbon 上的省电调节器系统无响应

在内核为 4.18 的 Ubuntu 18.10 上使用 Thinkpad X1 Carbon 2018(第 6 代)时,我注意到系统即使在 AC 模式下也感觉无响应。

这在 Firefox(但不限于此)中最为明显,其中文本输入、自动完成和悬停效果有一点延迟。我可以使用“性能”调速器,延迟就会消失,但这只是换取风扇几乎不断运行。

在我看来,切换 CPU 频率时会有延迟。此外,我注意到cpupower无法通过硬件调用显示转换延迟或当前 CPU 频率。

$ sudo cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 4.00 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 4.00 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.20 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
$ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency 
0

我正在运行 tlp 及其默认配置。尽管如此,这里是输出tlp-stat -p

--- TLP 1.1 --------------------------------------------

+++ Processor
CPU model      = Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  4000000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference = balance_performance
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu1/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu1/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq  =  4000000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/energy_performance_preference = balance_performance
/sys/devices/system/cpu/cpu1/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu2/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq  =  4000000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/energy_performance_preference = balance_performance
/sys/devices/system/cpu/cpu2/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu3/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq  =  4000000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/energy_performance_preference = balance_performance
/sys/devices/system/cpu/cpu3/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu4/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu4/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu4/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq  =  4000000 [kHz]
/sys/devices/system/cpu/cpu4/cpufreq/energy_performance_preference = balance_performance
/sys/devices/system/cpu/cpu4/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu5/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu5/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu5/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq  =  4000000 [kHz]
/sys/devices/system/cpu/cpu5/cpufreq/energy_performance_preference = balance_performance
/sys/devices/system/cpu/cpu5/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu6/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu6/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu6/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq  =  4000000 [kHz]
/sys/devices/system/cpu/cpu6/cpufreq/energy_performance_preference = balance_performance
/sys/devices/system/cpu/cpu6/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu7/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu7/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu7/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq  =  4000000 [kHz]
/sys/devices/system/cpu/cpu7/cpufreq/energy_performance_preference = balance_performance
/sys/devices/system/cpu/cpu7/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/intel_pstate/min_perf_pct      =  30 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct      = 100 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo          =   0
/sys/devices/system/cpu/intel_pstate/turbo_pct         =  60 [%]
/sys/devices/system/cpu/intel_pstate/num_pstates       =  37

x86_energy_perf_policy.cpu0                            = performance 
x86_energy_perf_policy.cpu0                            = HWP_REQ: min
x86_energy_perf_policy.cpu0                            = HWP_CAP: low
x86_energy_perf_policy.cpu1                            = performance 
x86_energy_perf_policy.cpu1                            = HWP_REQ: min
x86_energy_perf_policy.cpu1                            = HWP_CAP: low
x86_energy_perf_policy.cpu2                            = performance 
x86_energy_perf_policy.cpu2                            = HWP_REQ: min
x86_energy_perf_policy.cpu2                            = HWP_CAP: low
x86_energy_perf_policy.cpu3                            = performance 
x86_energy_perf_policy.cpu3                            = HWP_REQ: min
x86_energy_perf_policy.cpu3                            = HWP_CAP: low
x86_energy_perf_policy.cpu4                            = performance 
x86_energy_perf_policy.cpu4                            = HWP_REQ: min
x86_energy_perf_policy.cpu4                            = HWP_CAP: low
x86_energy_perf_policy.cpu5                            = performance 
x86_energy_perf_policy.cpu5                            = HWP_REQ: min
x86_energy_perf_policy.cpu5                            = HWP_CAP: low
x86_energy_perf_policy.cpu6                            = performance 
x86_energy_perf_policy.cpu6                            = HWP_REQ: min
x86_energy_perf_policy.cpu6                            = HWP_CAP: low
x86_energy_perf_policy.cpu7                            = performance 
x86_energy_perf_policy.cpu7                            = HWP_REQ: min
x86_energy_perf_policy.cpu7                            = HWP_CAP: low

/sys/module/workqueue/parameters/power_efficient       = Y
/proc/sys/kernel/nmi_watchdog                          = 0

+++ Undervolting
PHC kernel not available.


安装的固件是最新的,包括最新的风扇和散热修复:

$ sudo dmidecode | less
BIOS Information
    Vendor: LENOVO
    Version: N23ET59W (1.34 )
    Release Date: 11/08/2018
    Address: 0xE0000

答案1

我有一个 Skylake CPU,具体来说是 i5 6200U,并且遇到与您描述的完全相同的症状。经过几个小时摆弄前沿内核、GPU 驱动程序等后,我发现将 intel_pstate=no_hwp 作为内核参数传递可以解决我的问题。

我偶然发现了你的话题,试图弄清楚是否有更多的人经历过这种情况,或者这只是我的单位。

相关内容