Модель ЦП intel_pstate не поддерживается

Модель ЦП intel_pstate не поддерживается

Недавно я обновился до Ubuntu 22.04 LTS и увидел там параметры питания. Однако режим производительности недоступен.

Я не могу получить ту же производительность и результаты тестов, которые я получаю в Windows dual boot. Я думаю, что это причина.

Итак, я проверил power Governor, и он говорит acpi-cpufreq. Я проверил свой grub cfg, и он говорит intel_pstate=enable. У меня была та же проблема с Ubuntu 20.04, думал, что это проблема с kernle, но даже с новым ядром он все еще не работает.

[    0.062414] Kernel command line: BOOT_IMAGE=/vmlinuz-5.15.0-47-generic root=UUID=9103868b-6caf-4c46-95b9-05f6bb5b8e94 ro intel_pstate=enable quiet splash vt.handoff=7
[    0.453038] intel_pstate: CPU model not supported

$ cat  /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
acpi-cpufreq

$ uname -r
5.15.0-47-generic

$ grep -i pstate /boot/config-$(uname -r)
CONFIG_X86_INTEL_PSTATE=y

$ grep intel_pstate /boot/grub/grub.cfg 
    linux   /vmlinuz-5.15.0-47-generic root=UUID=xxxxx ro  intel_pstate=enable quiet splash $vt_handoff


$ cat /sys/devices/system/cpu/cpufreq/boost 
1

$ ls /sys/devices/system/cpu/intel_pstate/
no such file or directory

$ cpufreq-info
..snip..
analyzing CPU 15:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 15
  CPUs which need to have their frequency coordinated by software: 15
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.30 GHz
  available frequency steps: 2.30 GHz, 2.30 GHz, 2.20 GHz, 2.10 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 800 MHz and 2.30 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 997 MHz.
  cpufreq stats: 2.30 GHz:1,62%, 2.30 GHz:0,13%, 2.20 GHz:0,25%, 2.10 GHz:0,17%, 2.00 GHz:0,27%, 1.90 GHz:0,31%, 1.80 GHz:0,29%, 1.70 GHz:0,54%, 1.50 GHz:0,73%, 1.40 GHz:0,72%, 1.30 GHz:0,96%, 1.20 GHz:1,33%, 1.10 GHz:3,17%, 1000 MHz:6,38%, 900 MHz:18,62%, 800 MHz:64,50%  (30660)

$ lscpu
..snip..
  Model name:            11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
    CPU family:          6
    Model:               141
..snip..
    Frequency boost:     enabled
    CPU max MHz:         2301,0000
    CPU min MHz:         800,0000
    BogoMIPS:            4608.00
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mc
                         a cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss 
                         ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art
                          arch_perfmon pebs bts rep_good nopl xtopology nonstop_
                         tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes6
                         4 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr p
                         dcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline
                         _timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefe
                         tch cpuid_fault epb cat_l2 invpcid_single cdp_l2 ssbd i
                         brs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriori
                         ty ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep b
                         mi2 erms invpcid rdt_a avx512f avx512dq rdseed adx smap
                          avx512ifma clflushopt clwb intel_pt avx512cd sha_ni av
                         x512bw avx512vl xsaveopt xsavec xgetbv1 xsaves split_lo
                         ck_detect dtherm ida arat pln pts avx512vbmi umip pku o
                         spke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx5
                         12_bitalg avx512_vpopcntdq rdpid movdiri movdir64b fsrm
                          avx512_vp2intersect md_clear flush_l1d arch_capabiliti
                         es

Кроме того, когда я гуглю модель процессора и intel_pstate, я вижу некоторые сообщения на форуме с тем же процессором и драйвером/регулятором(?), что и intel_pstate, так что, вероятно, он поддерживается.

Мне было интересно, какие шаги я могу предпринять для дальнейшего устранения неполадок или исправления этой проблемы? Спасибо!

ps мое устройство - ноутбук

решение1

Во время загрузки вы получаете сообщение ядра:

[    0.453038] intel_pstate: CPU model not supported

Потому что:

  1. Управление HWP (HardWare Pstate), также известное как технология Intel Speed ​​Shift (не путать с Intel Speed ​​Step), отключено в BIOS.
  2. Похоже, в исходном коде драйвера масштабирования частоты ЦП intel_pstate есть ошибка, которая не позволяет использовать драйвер с отключенным HWP для семейства процессоров Intel Tiger Lake и, возможно, других семейств.

Для проверочного теста на моем тестовом сервере 20.04.4 с Intel(R) Core(TM) i5-10600K CPU @ 4.10GHzпроцессором , или Comet Lake, я закомментировал строку, которая включает это семейство в путь кода без HWP:

doug@s19:~/kernel/linux$ git diff
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 57cdb3679885..3cbc1abb9911 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -2414,7 +2414,7 @@ static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
        X86_MATCH(ATOM_GOLDMONT,        core_funcs),
        X86_MATCH(ATOM_GOLDMONT_PLUS,   core_funcs),
        X86_MATCH(SKYLAKE_X,            core_funcs),
-       X86_MATCH(COMETLAKE,            core_funcs),
+/*     X86_MATCH(COMETLAKE,            core_funcs), */
        X86_MATCH(ICELAKE_X,            core_funcs),
        {}
 };

Для немодифицированного ядра я получил:

  • Установка HWP в autoBIOS enabledпривела к срабатыванию intel_pstateдрайвера масштабирования частоты ЦП.
  • Установка HWP disabledв BIOS привела к использованию intel_cpufreqдрайвера масштабирования частоты ЦП. (Обратите внимание, что intel_cpufreqдрайвер — это просто intel_pstateдрайвер в пассивном режиме, который теперь используется по умолчанию, когда HWP недоступен. См. такжездесь.)

Для модифицированного ядра у меня получилось:

  • Установка HWP в autoBIOS enabledпривела к срабатыванию intel_pstateдрайвера масштабирования частоты ЦП.
  • Установка HWP disabledв BIOS привела к срабатыванию acpi_cpufreqдрайвера масштабирования частоты ЦП.

Список семейств процессоров для ветки кода no HWP выглядит неполным. В случае этого вопроса номер модели 141 или 0X8D или TIGERLAKE:

./arch/x86/include/asm/intel-family.h:#define INTEL_FAM6_TIGERLAKE              0x8D    /* Willow Cove */

Итак, предлагаемый патч кода будет следующим:

doug@s19:~/kernel/linux$ doug@s19:~/kernel/linux$ git diff
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 57cdb3679885..fc3ebeb0bbe5 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -2416,6 +2416,7 @@ static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
        X86_MATCH(SKYLAKE_X,            core_funcs),
        X86_MATCH(COMETLAKE,            core_funcs),
        X86_MATCH(ICELAKE_X,            core_funcs),
+       X86_MATCH(TIGERLAKE,            core_funcs),
        {}
 };
 MODULE_DEVICE_TABLE(x86cpu, intel_pstate_cpu_ids);

Кстати, производительность регулятора масштабирования частоты ЦП доступна для регулятора масштабирования частоты ЦП acpi-cpufreq. Просто сделайте это:

echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

И затем проверьте это:

doug@s19:~/kernel/linux$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu10/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu11/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu4/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu5/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu6/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu7/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu8/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu9/cpufreq/scaling_governor:performance

Связанный контент