Файл scaling_max_freq отсутствует.

Файл scaling_max_freq отсутствует.

Я проверил свой системный файл Linux, у меня нет:

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

В моей конфигурации ядра нет CONFIG_X86_INTEL_PSTATE, и драйвер acpi-cpufreq по-прежнему не используется.

Файл sys здесь создается только при включенном intel_pstate?

Я использую среду Yocto, а не CentOS или Ubuntu.

решение1

Короткий ответ Причина, по которой путь не отображается в вашей системе, заключается в том, что драйвер cpufreq не загружен. Этот драйвер создает /sys/devices/system/cpu/cpuY/cpufreq в sysfs и заполняет его значениями. При попытке скомпилировать ядро ​​без CONFIG_X86_INTEL_PSTATE он принудительно включается предварительными условиями компиляции драйверов pcc_freq и acpi_freq, поэтому, я полагаю, вам нужно установить его, чтобы скомпилировать драйвер.

Подробнее Взглянув на код ядра в drivers/cpufreq/, мы видим, что запись scaling_max_freq в sysfs определяется и поддерживается cpufreq.c. Есть два драйвера, реализующие функциональность cpufreq -pcc_cpufreqиacpi_cpufreq. Для инициализации пути необходимо загрузить один из драйверов cpufreq.

Соответствующие поля в конфигурации ядра:

#
# 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.

Надеюсь это поможет.

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