Включение Intel Turbo Boost из пользовательского пространства с включенной безопасной загрузкой

На моем ноутбуке (Acer ES1-562-5191) у меня стоит процессор Intel Core i5-7200U, который обычно работает на частоте 2,50 ГГц. У меня включен турбо-наддув, и он работает. Все нормально, за исключением того, что на определенном уровне мощности (около 15%) Turbo Boost отключается. Он не включается повторно после зарядки ноутбука. Единственный способ исправить это - перезагрузить ноутбук.

До того, как я включил безопасную загрузку, я мог легко повторно включить турбо-ускорение, но из-за блокировки ядра я не могу сейчас записывать в эти файлы.

Я испробовал несколько инструментов для этого, и, насколько мне известно, это невозможно.

У меня в голове есть следующие решения: найти способ повторно включить турбо-ускорение после того, как он был отключен, или найти способ, чтобы компьютер не отключал его.

$ uname -a
Linux Jaco-LAPTOP 5.11.0-22-generic #23-Ubuntu SMP Thu Jun 17 00:34:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
02:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)

Запись в регистры MSR - это последний способ, которым большинство программ изменяет состояние турбо-ускорения. Это не работает.

# wrmsr -p0 0x1a0 0x4000850089
wrmsr: pwrite: Operation not permitted

Здесь вы можете увидеть пример вывода dmesg из i7z и wrmsr.

# dmesg
...
[40160.847525] Lockdown: i7z: raw MSR access is restricted; see man kernel_lockdown.7
[41009.622949] Lockdown: wrmsr: raw MSR access is restricted; see man kernel_lockdown.7

Есть предложения?

0
задан 12 July 2021 в 11:11

1 ответ

В более поздних версиях ядер намеренно по умолчанию отключен доступ пользователей для записи в MSR (машинные регистры), так как слишком многие из них попадали в серьезные проблемы, включая выход из строя своего процессора.

Чтобы включить доступ для записи MSR, вам необходимо добавить msr.allow_writes = on в командную строку grub. Пример с другими имеющимися у меня вещами:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=314 intel_pstate=active intel_pstate=no_hwp msr.allow_writes=on cpuidle.governor=teo"

Вы также можете получить доступ к параметру после загрузки и после загрузки модуля msr по адресу:

doug@s19:~/config/etc/default$ ls -l /sys/module/msr/parameters/allow_writes
ls: cannot access '/sys/module/msr/parameters/allow_writes': No such file or directory
doug@s19:~/config/etc/default$ sudo modprobe msr
doug@s19:~/config/etc/default$ ls -l /sys/module/msr/parameters/allow_writes
-rw------- 1 root root 4096 Jul 13 08:31 /sys/module/msr/parameters/allow_writes
doug@s19:~/config/etc/default$ sudo cat /sys/module/msr/parameters/allow_writes
on

, где параметры [вкл / выкл / по умолчанию]. Я думаю, что значение по умолчанию определяется параметром конфигурации ядра.

Теперь, если вы не хотите включать через командную строку grub, вы также можете просто сделать это позже через:

doug@s19:~$ ls -l /sys/module/msr/parameters/allow_writes
ls: cannot access '/sys/module/msr/parameters/allow_writes': No such file or directory
doug@s19:~$ sudo modprobe msr
doug@s19:~$ ls -l /sys/module/msr/parameters/allow_writes
-rw------- 1 root root 4096 Jul 13 08:42 /sys/module/msr/parameters/allow_writes
doug@s19:~$ sudo cat /sys/module/msr/parameters/allow_writes
default
doug@s19:~$ echo on | sudo tee /sys/module/msr/parameters/allow_writes
on
doug@s19:~$ sudo cat /sys/module/msr/parameters/allow_writes
on

РЕДАКТИРОВАТЬ: Кстати, команда, которую вы пытались написать, отключит турбо, а не включите это. Пример:

doug@s19:~$ sudo rdmsr 0x1a0
850089
doug@s19:~$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
0
doug@s19:~$ sudo wrmsr 0x1a0 0x4000850089
doug@s19:~$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
1
doug@s19:~$ sudo rdmsr 0x1a0
4000850089
0
ответ дан 28 July 2021 в 11:19

Другие вопросы по тегам:

Похожие вопросы: