내 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 기능을 구현하는 두 가지 드라이버가 있습니다.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 드라이버가 누락되었을 수 있습니다.
도움이 되었기를 바랍니다.