scaling_max_freq sysファイルがありません

scaling_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 を作成し、値を設定します。CONFIG_X86_INTEL_PSTATE なしでカーネルをコンパイルしようとすると、pcc_freq および acpi_freq ドライバーのコンパイル前提条件によって強制的に有効にされるため、ドライバーをコンパイルするにはこれを設定する必要があると思います。

詳細情報 drivers/cpufreq/ のカーネル コードを見ると、sysfs の scaling_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 ドライバーが欠落している可能性があります。

お役に立てれば。

関連情報