Os administradores cpufreq do Linux mudam temporariamente o scaling_max_freq do sysfs?

1

A documentação do Linux da variável sysfs scaling_max_freq reports

Maximum frequency the CPUs belonging to this policy are allowed to be running at (in kHz).

This attribute is read-write and writing a string representing an integer to it will cause a new limit to be set (it must not be lower than the value of the scaling_min_freq attribute).

Minha percepção do acima foi que eu posso usar o seguinte comando

$ echo 2133000 >/sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq

para indicar ao cpufreq governer que eu desejo que o cpu0 seja executado no máximo 2133Mhz. Depois de ter definido o valor, posso verificar se está sendo definido via

$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq

que de fato rende 2133000

Agora vem a parte estranha, que me leva a colocar essa questão aqui:

Durante a execução de uma tarefa intensiva de CPU (por exemplo, uma compilação de kernel), eu verifico o valor em /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq e ele reporta 1199000, uma frequência muito menor.

Agora estou intrigado: quem alterou o valor? o governador cpufreq?

atualizar / info para elogiar

  • dmesg não mostra nenhuma mensagem de limitação
  • make -j4 foi usado para usar 4 quatro pipelines da CPU Intel ( model name : Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz )
  • uname -a mostra Linux work 4.18.3-arch1-1-ARCH #1 SMP PREEMPT Sat Aug 18 09:22:54 UTC 2018 x86_64 GNU/Linux daqui, meu kernel de estoque arch linux
  • O
  • governador cpufreq é schedutil
  • /sys/devices/system/cpu/cpufreq/policy0/scaling_driver mostra acpi-cpufreq

  • /sys/devices/system/cpu/cpu0/cpufreq/bios_limit informa 2666000 que, como seria de esperar, a frequência máxima da cpu. (Devo verificar este valor durante o estresse da CPU, ou em ocioso ??)

O laptop é um modelo Lenovo Thinkpad X201t (tablet), com o adaptador de rede sendo o original fornecido ao modelo na compra. No entanto, mudei temporariamente o adaptador de alimentação com outro e reportarei os resultados.

Para ser absolutamente claro. O valor de scaling_max_freq é restaurado após o término da tarefa de carregamento de alta cpu. Em estado "quase inativo", novamente me informa o 2133000 originalmente definido.

    
por humanityANDpeace 23.08.2018 / 19:56

0 respostas