2023-02-17

Linux kernel 5.19 で AMD P-State Driver が動かなくなった

Linux Mint 21.1 に Linux kernel 5.19.0-32 が配信されたので適用してみたところ、AMD P-State Driver が動かなくなってしまいました。

直前までは Linux kernel 5.19.0-28 を使っていたんですが、何か変化があったんでしょうね。

こちらは Linux kernel 5.19.0-32 で起動した直後に cpupower frequency-info コマンドを発行してみた結果です。

$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 2.20 GHz - 3.91 GHz
  available frequency steps:  3.60 GHz, 2.80 GHz, 2.20 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 2.20 GHz and 3.60 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 2.80 GHz (asserted by call to kernel)
  boost state support:
    Supported: no
    Active: no

あらまあ、ドライバーが acpi-freq に戻ってますね。

システムログを確認してみたところ、特にこれと言ったエラーメッセージは出力されていませんでした。

インターネット上で AMD P-State Driver を有効化するための情報を再度、確認してみたところ、GRUB に渡す kernel 起動オプションの調整を試してみることにしました。

 

こちらは 5.19.0-28 まで使っていた kernel 起動オプションです。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_pstate.shared_mem=1 amdgpu.ppfeaturemask=0xffffffff"

そしてこちらは 5.19.0-32 向けに修正してみた kernel 起動オプションです。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_pstate=passive amdgpu.ppfeaturemask=0xffffffff"


この調整がヒットし、PC 再起動後は従来どおりに AMD P-State Driver が動くようになってくれました。

$ cpupower frequency-info
analyzing CPU 0:
  driver: amd-pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 131 us
  hardware limits: 550 MHz - 3.91 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 550 MHz and 3.60 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.35 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    AMD PSTATE Highest Performance: 166. Maximum Frequency: 3.91 GHz.
    AMD PSTATE Nominal Performance: 153. Nominal Frequency: 3.60 GHz.
    AMD PSTATE Lowest Non-linear Performance: 74. Lowest Non-linear Frequency: 1.74 GHz.
    AMD PSTATE Lowest Performance: 24. Lowest Frequency: 550 MHz.

メデタシ、メデタシ。

 

ちなみに、わが家では governor は「schedutil」 ではなく「ondemand」を使用しています。こちらの方が CPU 温度を低く抑えられている感じがします。