web-dev-qa-db-ja.com

スリープから再開するたびにCPUクロックが遅くなる

Lenovo Y50-70でkubuntu 15.10を実行していますが、CPUクロックに非常に迷惑な問題があります:コンピューターがスリープ状態から再開するたびに、CPUクロックの最大値が低くなります。再開するたびに、最初の3.6 GHzから約600 MHzに下がるまで、クロックは遅くなります。

alain@alain-Y50-70:~$ Sudo -i
[Sudo] password for alain: 
root@alain-Y50-70:~# 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: 0.97 ms.
  hardware limits: 800 MHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 3.60 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 817 MHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
100
root@alain-Y50-70:~# 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: 0.97 ms.
  hardware limits: 800 MHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 2.88 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
80
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
60
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
40
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct                                 
40                                                                                                         
root@alain-Y50-70:~# 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: 0.97 ms.                                                                     
  hardware limits: 800 MHz - 3.60 GHz                                                                      
  available cpufreq governors: performance, powersave                                                      
  current policy: frequency should be within 800 MHz and 1.44 GHz.                                         
                  The governor "powersave" may decide which speed to use                                   
                  within this range.                                                                       
  current CPU frequency is 699 MHz (asserted by call to hardware).                                         
  boost state support:                                                                                     
    Supported: yes                                                                                         
    Active: yes                                                                                            
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct                                 
40                                                                                                         
root@alain-Y50-70:~# 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: 0.97 ms.                                                                     
  hardware limits: 800 MHz - 3.60 GHz                                                                      
  available cpufreq governors: performance, powersave                                                      
  current policy: frequency should be within 800 MHz and 1.44 GHz.                                         
                  The governor "powersave" may decide which speed to use                                   
                  within this range.                                                                       
  current CPU frequency is 605 MHz (asserted by call to hardware).                                         
  boost state support:                                                                                     
    Supported: yes                                                                                         
    Active: yes                                                                                            
root@alain-Y50-70:~#                                                                                       

上記のコマンド間でコンピューターをスリープ状態にします。ご覧のとおり、最初にmax_perf_pctは40に達するまで段階的に減少し、その後40のままですが、クロック速度は減少し続けます。ラップトップが接続されているかどうかは関係なく、温度は正常です。

これはこのバグに関連していると思われます。 https://bugzilla.kernel.org/show_bug.cgi?id=90421


最大の問題は、最大クロックを手動で3.6 GHzに戻す方法が見つからないことです。最初にcpupower frequency-set -u 3.60GHzを試しました:

root@alain-Y50-70:~# cpupower frequency-set -u 3.60GHz
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
root@alain-Y50-70:~# 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: 0.97 ms.
  hardware limits: 800 MHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 1.44 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 699 MHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
40

しかし、 Intel P-Stateドライバー が使用されているため、これは間違った方法のようです。そのため、効果なしでecho 100 >/sys/devices/system/cpu/intel_pstate/max_perf_pctを試しました

root@alain-Y50-70:~# echo 100 >/sys/devices/system/cpu/intel_pstate/max_perf_pct
root@alain-Y50-70:~# 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: 0.97 ms.
  hardware limits: 800 MHz - 3.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 1.44 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 700 MHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
root@alain-Y50-70:~# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
40

performanceガバナーも試しましたが、成功しませんでした。

最大クロック周波数を3.6 GHzに戻すにはどうすればよいですか?

7
alain

発生している問題は何度も報告されています。
このbugzillaバグレポート を参照してください。

この問題は、カーネルツリー内の特定のコミットに限定されています。このコミットは、以前の安定したカーネルバージョンにもバックポートされています。
ただし、実際の根本的な原因はLenovo BIOSの問題です。 linux-pm電子メールスレッドからの引用:

BIOSは偽のパッシブトリップポイント値を報告します。これは摂氏0度です。この偽のBIOSを回避するには、トリップポイント値を確認して無効なトリップポイントを無効にする必要があります。

1つまたは2つのバージョンに戻ると、Lenovoは正常に動作します(4.2.0-19は正常に動作することが確認されています)。

バッテリーが30%を下回らない限り、問題はクロック変調(レジスタ0x19A)に関係しません(未確認ですが、疑わしい)。

参照:
http://ubuntuforums.org/showthread.php?t=2316101
奇妙なcpufreqスケーリングの問題:ガバナーに関係なく、最大cpufreqはウェイクアップ時に徐々に低下します
バッテリーが30%未満の場合、i3は500Mhzで調整
http://marc.info/?t=145816738700001&r=1&w=2

6
Doug Smythies