Как изменить драйвер масштабирования частоты с «intel-pstate» на «acpi-cpufreq» или «p4-clockmod»? - PullRequest
1 голос
/ 22 апреля 2020

Я хочу изменить текущий драйвер для команды cpufreq-* для управления частотой процессора на Intel NU C. Текущий драйвер - intel-pstate, который допускает performance и powersave только в качестве регуляторов.

$ cpufreq-info --driver
intel_pstate
$ cpufreq-info --governors
performance powersave

Драйвер intel-pstate не имеет userspace в качестве регулятора, что позволяет фиксировать частоту ЦП. Итак, я хочу изменить драйвер для команды cpufreq-*.

Я проверил доступные драйверы и вставил драйвер p4-clockmod:

$ ls /lib/modules/$(uname -r)/kernel/drivers/cpufreq/
amd_freq_sensitivity.ko  p4-clockmod.ko  speedstep-lib.ko
$ sudo modprobe p4-clockmod

Однако драйвер для cpufreq-info все еще intel-pstate.

$ cpufreq-info --driver
intel_pstate

Скажите, пожалуйста, как изменить драйвер для команды cpufreq-*.

1 Ответ

0 голосов
/ 22 апреля 2020

Вы должны быть в состоянии сделать это так:

  1. Загрузите правильный модуль:

    sudo modprobe p4-clockmod
    
  2. Отключите intel-pstate драйвер:

    echo off | sudo tee /sys/devices/system/cpu/intel_pstate/status
    
  3. Активируйте новый драйвер:

    echo p4-clockmod | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
    

Выше может быть невозможно, если intel-pstate включен с Поддержка HWP (выключение требует перезагрузки с параметром командной строки ядра intel_pstate=no_hwp , если я правильно помню , , дополнительная информация здесь ).


Если вы Если вы хотите, чтобы все было постоянно, вам нужно изменить параметры командной строки вашего ядра:

  1. Изменить /etc/default/grub и изменить GRUB_CMDLINE_LINUX_DEFAULT, вы должны добавить intel_pstate=disable и p4-clockmod , так это должно выглядеть так:

    GRUB_CMDLINE_LINUX_DEFAULT="... intel_pstate=disable p4-clockmod"
    
  2. Обновите конфигурацию grub:

    sudo update-grub
    # or 
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    
  3. Перезагрузите компьютер и убедитесь, что модуль загружается с lsmod.


Также обратите внимание, что это не просто «изменение драйвера для команд cpufreq-*». Это изменяет общесистемный драйвер масштабирования частоты, команды cpufreq-* работают только с тем драйвером, который используется в данный момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...