I have a server HPE ProLiant system with AMD Epyc CPU, BIOS A43 v1.20, with Linux kernel 5.4.0.
cpupower always reports no available drivers and as a result I can't set CPU frequencies (details in my other question linux: can't set cpu frequency governor with cpupower) :
# 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> # # My efforts to debug the drivers behaviour -- drivers/cpufreq/cpufreq.c and drivers/cpufreq/acpi-cpufreq.c have revealed that acpi-cpufreq actually fails with message:
ACPI-based processor performance control unavailable
Call chain is as follows:
cpufreq_add_dev() -> cpufreq_online(cpu) -> cpufreq_driver->init() [*] [*] acpi_cpufreq_cpu_init() -> acpi_processor_register_performance() -> acpi_processor_get_performance_info() <return -EIO> As far as I understand, in acpi_processor_get_performance_info() the driver attempts to read _PCT object from ACPI table and fails, because can't find it.
Does this mean that the BIOS has no full support of ACPI, or CPU microcode needs to be updated, or the kernel is missing something?
I would be happy for any advice/comment.