scale_max_freq sysファイルなし

scale_max_freq sysファイルなし

私のLinux sysファイルを確認しましたが、次のエントリがありません。

/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

私のカーネル設定にCONFIG_X86_INTEL_PSTATEがなく、まだacpi-cpufreqドライバを使用していません。

ここのsysファイルは、intel_pstateが有効になっている場合にのみ生成されますか?

CentOSやUbuntuではなくyocto環境を使用しています。

ベストアンサー1

短い答え このパスがシステムに表示されない理由は、cpufreqドライバがロードされていないためです。ドライバーは sysfs に /sys/devices/system/cpu/cpuY/cpufreq を生成し、値を入力します。 pcc_freqおよびacpi_freqドライバのコンパイル前提条件は、CONFIG_X86_INTEL_PSTATEなしでカーネルをコンパイルしようとしたときにそれを有効にすることを強制するため、ドライバをコンパイルするにはこれを設定する必要があるようです。

詳しくは drivers/cpufreq/ 以下のカーネルコードを見ると、sysfs の scale_max_freq エントリが cpufreq.c によって定義され維持されていることがわかります。 cpufreq機能を実装する2つのドライバがあります。pcc_cpufreqそしてacpi_cpufreq。パスを初期化するには、cpufreqドライバの1つをロードする必要があります。

カーネル構成の関連フィールド:

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m

システムを確認してくださいpcc_cpufreqドライバー。可能であれば、ロードせずに cpufreq パスを使用する必要があります。acpi_cpufreqしかし、CONFIG_X86_INTEL_PSTATEがカーネル構成ファイルに設定されていないと言ったので、すべてのcpufreqドライバが見つからない可能性があります。

お役に立てば幸いです。

おすすめ記事