AMD Epyc CPU、BIOS A43 v1.20、Linuxカーネル5.4.0を搭載したサーバーHPE ProLiantシステムがあります。
cpupower
常に利用可能なドライバがないと報告しているため、CPU周波数を設定できません(詳細は他の質問にあります)。linux:cpupowerを使用してCPU周波数レギュレータを設定することはできません。):
# cpupower frequency-info
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU
CPUs which run at the same hardware frequency: Not Available
CPUs which need to have their frequency coordinated by software: Not Available
maximum transition latency: Cannot determine or is not supported.
Not Available
available cpufreq governors: Not Available
Unable to determine current policy
current CPU frequency: Unable to call hardware
current CPU frequency: Unable to call to kernel
boost state support:
Supported: yes
Active: yes
Boost States: 0
Total States: 3
Pstate-P0: 2000MHz
Pstate-P1: 1800MHz
Pstate-P2: 1500MHz
#
# ls /sys/devices/system/cpu/cpufreq/
<Empty>
#
#
ドライバの動作をデバッグする私の努力 - drivers/cpufreq/cpufreq.cとdrivers/cpufreq/acpi-cpufreq.cは、次のメッセージでacpi-cpufreq
実際に失敗したことを発見しました。
ACPI ベースのプロセッサー性能制御は使用できません。
呼び出しチェーンは次のとおりです。
cpufreq_add_dev()
-> cpufreq_online(cpu)
-> cpufreq_driver->init() [*]
[*]
acpi_cpufreq_cpu_init()
-> acpi_processor_register_performance()
-> acpi_processor_get_performance_info()
<return -EIO>
私が知っているのは、acpi_processor_get_performance_info()でドライバがACPIテーブルから_PCTオブジェクトを読み取ろうとしましたが、見つからず失敗しました。
これは、BIOSがACPIを完全にサポートしていないか、CPUマイクロコードを更新する必要があるか、カーネルに何かが欠けていることを意味しますか?
どんな提案や意見でも喜んでご提供いたします。
答え1
BIOSで次のパラメータを設定した後、問題が解決されました。
BIOS/Platform Configuration
-> Power and Performance Options
-> Power Regulator
[*] OS Control Mode
明らかに、オペレーティングシステムはP-states
要求の状態などを変更して確認することができます。P-state