Relógio da CPU mais lento após cada reinício do sono

7

Estou executando o kubuntu 15.10 em um Lenovo Y50-70, e tenho um problema muito chato com o clock da CPU: Sempre que o computador retoma do modo de suspensão, o clock da CPU tem um máximo inferior, e isso não acontece apenas uma vez, mas após cada retomada o clock fica mais lento, até ficar abaixo de 3.6 GHz a ~ 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:~#                                                                                       

Eu coloquei o computador no sono entre os comandos acima. Como você pode ver, primeiro o max_perf_pct é reduzido em etapas até atingir 40, então fica 40, mas a velocidade do clock continua a ser reduzida. Não importa se o laptop está conectado ou não, e a temperatura é normal.

Acho que isso pode estar relacionado a esse bug: link

O maior problema é que não consigo encontrar uma maneira de ajustar manualmente o clock máximo para 3,6 GHz. Primeiro eu tentei 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

mas isso parece ser o caminho errado porque o driver do Intel P-State é usado, então eu tentei echo 100 >/sys/devices/system/cpu/intel_pstate/max_perf_pct sem efeito:

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

Eu também tentei o performance governor, sem sucesso.

Como posso definir a frequência máxima do relógio de volta para 3,6 GHz?

    
por alain 12.03.2016 / 14:37

1 resposta

6

O problema que você está tendo foi relatado muitas vezes.
Por favor, consulte este relatório de bug do bugzilla .

O problema foi isolado para um commit particular na árvore do kernel. Esse commit também foi retornado para algumas versões de kernel estáveis anteriores. No entanto, a verdadeira causa raiz real é um problema do BIOS da Lenovo. Citando o encadeamento de e-mail linux-pm:

  

O BIOS reporta um falso valor de ponto de falha passivo, que é 0 grau Celsius   ...   Para contornar este BIOS falso, devemos desabilitar esses   pontos de desarme inválidos, verificando o valor do ponto de desarme,

Se você voltar uma ou duas versões, seu Lenovo funcionará corretamente (4.2.0-19 é conhecido por funcionar corretamente).

Seu problema não está relacionado à modulação do relógio (registro 0x19A), a menos que sua bateria esteja abaixo de 30% (não comprovada, mas suspeita).

Referências:
link
Problemas estranhos de escalonamento do cpufreq: independentemente do governador, o max cpufreq cai incrementalmente no wake
i3 acelerado a 500Mhz quando bateria abaixo de 30%
link

    
por Doug Smythies 13.03.2016 / 01:11