The selftests cpufreq_main_sh test from the Linux Kernel Selftests
consistently fails on the Ampere Altra server platform.
The failure has been observed since day one of testing, with the following symptoms:
Several expected cpufreq sysfs entries are either missing or show "No data available".
Boost and auto frequency scaling features return <unsupported> or empty outputs.
The boot log shows,
[ 16.841475] CPPC Cpufreq:FIE not enabled on systems with registers in PCC
is directly related to the issue you're seeing with missing or incomplete cpufreq
sysfs files on the Ampere Altra platform.
CPPC Cpufreq = Collaborative Processor Performance Control
(used for energy-efficient frequency scaling on ARM servers like Ampere).
FIE = Frequency Invariance Extension — allows the cpufreq driver to manage frequencies
using memory-mapped or ACPI registers.
PCC = Platform Communications Channel — a method used by firmware (via ACPI) to control
CPU performance.
Affected paths include:
/sys/devices/system/cpu/cpufreq/boost
/sys/devices/system/cpu/cpufreq/policy*/affected_cpus
/sys/devices/system/cpu/cpufreq/policy*/scaling_* files
/sys/devices/system/cpu/cpufreq/policy*/auto_act_window
/sys/devices/system/cpu/cpufreq/policy*/auto_select
Test log
kselftest: Running tests in cpufreq
TAP version 13
1..1
# timeout set to 45
# selftests: cpufreq: main.sh
# TAP version 13
# 1..1
# pid 35251's current affinity mask: ffffffffffffffffffffffffffffffffffffffffffffffff
# pid 35251's new affinity mask: 1
# *** RUNNING CPUFREQ SANITY TESTS ***
# ====================================
#
# CPUFreq manages: 192 CPUs
#
# ** Test: Running read_all_cpufreq_files **
#
# Printing directory: /sys/devices/system/cpu/cpufreq
#
# boost:ls: /sys/devices/system/cpu/cpufreq/boost: No data available
# 0
#
# Printing directory: /sys/devices/system/cpu/cpufreq/policy0
#
# affected_cpus:ls: /sys/devices/system/cpu/cpufreq/policy0/affected_cpus: No data available
# 0
# auto_act_window:ls: /sys/devices/system/cpu/cpufreq/policy0/auto_act_window: No data available
# <unsupported>
# auto_select:ls: /sys/devices/system/cpu/cpufreq/policy0/auto_select: No data available
# <unsupported>
# boost:ls: /sys/devices/system/cpu/cpufreq/policy0/boost: No data available
# 0
# cpuinfo_avg_freq:ls: /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_avg_freq: No data available
# 1550000
# cpuinfo_cur_freq:ls: /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq: No data available
# 1512000
# cpuinfo_max_freq:ls: /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq: No data available
# 3200000
# cpuinfo_min_freq:ls: /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_min_freq: No data available
# 1000000
# cpuinfo_transition_latency:ls: /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_transition_latency: No data available
# 0
# energy_performance_preference_val:ls: /sys/devices/system/cpu/cpufreq/policy0/energy_performance_preference_val: No data available
# <unsupported>
# freqdomain_cpus:ls: /sys/devices/system/cpu/cpufreq/policy0/freqdomain_cpus: No data available
# 0
# related_cpus:ls: /sys/devices/system/cpu/cpufreq/policy0/related_cpus: No data available
# 0
# scaling_available_governors:ls: /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors: No data available
# conservative ondemand userspace powersave performance schedutil
# scaling_cur_freq:ls: /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq: No data available
# 1334375
# scaling_driver:ls: /sys/devices/system/cpu/cpufreq/policy0/scaling_driver: No data available
# cppc_cpufreq
# scaling_governor:ls: /sys/devices/system/cpu/cpufreq/policy0/scaling_governor: No data available
# schedutil
# scaling_max_freq:ls: /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq: No data available
# 3200000
# scaling_min_freq:ls: /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq: No data available
# 1000000
# scaling_setspeed:ls: /sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed: No data available
# <unsupported>
#
#
# Printing directory: /sys/devices/system/cpu/cpufreq/policy1
#
# affected_cpus:ls: /sys/devices/system/cpu/cpufreq/policy1/affected_cpus: No data available
# 1
# auto_act_window:ls: /sys/devices/system/cpu/cpufreq/policy1/auto_act_window: No data available
# <unsupported>
# auto_select:ls: /sys/devices/system/cpu/cpufreq/policy1/auto_select: No data available
# <unsupported>
# boost:ls: /sys/devices/system/cpu/cpufreq/policy1/boost: No data available
# 0
# cpuinfo_avg_freq:ls: /sys/devices/system/cpu/cpufreq/policy1/cpuinfo_avg_freq: No data available
# 1071875
# cpuinfo_cur_freq:ls: /sys/devices/system/cpu/cpufreq/policy1/cpuinfo_cur_freq: No data available
# 1000000
# cpuinfo_max_freq:ls: /sys/devices/system/cpu/cpufreq/policy1/cpuinfo_max_freq: No data available
# 3200000
# cpuinfo_min_freq:ls: /sys/devices/system/cpu/cpufreq/policy1/cpuinfo_min_freq: No data available
# 1000000
# cpuinfo_transition_latency:ls: /sys/devices/system/cpu/cpufreq/policy1/cpuinfo_transition_latency: No data available
# 0
# energy_performance_preference_val:ls: /sys/devices/system/cpu/cpufreq/policy1/energy_performance_preference_val: No data available
# <unsupported>
# freqdomain_cpus:ls: /sys/devices/system/cpu/cpufreq/policy1/freqdomain_cpus: No data available
# 1
# related_cpus:ls: /sys/devices/system/cpu/cpufreq/policy1/related_cpus: No data available
# 1
# scaling_available_governors:ls: /sys/devices/system/cpu/cpufreq/policy1/scaling_available_governors: No data available
# conservative ondemand userspace powersave performance schedutil
# scaling_cur_freq:ls: /sys/devices/system/cpu/cpufreq/policy1/scaling_cur_freq: No data available
# 1000000
# scaling_driver:ls: /sys/devices/system/cpu/cpufreq/policy1/scaling_driver: No data available
# cppc_cpufreq
# scaling_governor:ls: /sys/devices/system/cpu/cpufreq/policy1/scaling_governor: No data available
# schedutil
# scaling_max_freq:ls: /sys/devices/system/cpu/cpufreq/policy1/scaling_max_freq: No data available
# 3200000
# scaling_min_freq:ls: /sys/devices/system/cpu/cpufreq/policy1/scaling_min_freq: No data available
# 1000000
# scaling_setspeed:ls: /sys/devices/system/cpu/cpufreq/policy1/scaling_setspeed: No data available
# <unsupported>
#
#
Kconfigs
--kconfig defconfig
--kconfig CONFIG_MLX5_CORE=y
--kconfig https://gitlab.com/Linaro/lkft/kernel-fragments/-/raw/main/netdev.config
--kconfig https://gitlab.com/Linaro/lkft/kernel-fragments/-/raw/main/systemd.config
--kconfig CONFIG_BCMGENET=y
--kconfig tools/testing/selftests/cgroup/config
--kconfig tools/testing/selftests/cpufreq/config
--kconfig tools/testing/selftests/efivarfs/config
--kconfig tools/testing/selftests/filesystems/binderfs/config
--kconfig tools/testing/selftests/filesystems/fat/config
--kconfig tools/testing/selftests/firmware/config
--kconfig tools/testing/selftests/ftrace/config
--kconfig tools/testing/selftests/gpio/config
--kconfig tools/testing/selftests/ipc/config
--kconfig tools/testing/selftests/memfd/config
--kconfig tools/testing/selftests/mm/config
--kconfig tools/testing/selftests/proc/config
Source
- Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
- Project: https://regressions.linaro.org/lkft/linux-next-master-ampere/
- Architectures: arm64
- Toolchains: gcc-13
- Platform: Ampere Altra
- CPUs: 192 cores
- Kernel: 6.16.x and 6.15.x
Links:
- LAVA job: https://lkft-staging.validation.linaro.org/scheduler/job/184325#L8358
|