google/benchmark

[BUG] ARM big.LITTLE boards report wrong cpu count and frequency

Offen

#1.385 geöffnet am 27.04.2022

 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (1.539 Forks)batch import
bughelp wanted

Repository-Metriken

Stars
 (7.968 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

Describe the bug On big.LITTLE ARM systems the displayed frequency and corresponding cpu count are wrong.

System Which OS, compiler, and compiler version are you using:

  • OS: Debian
  • Compiler and version: clang-12

To reproduce Link a binary against libbenchmark and run it Example output:

Running ./dojo_bench
Run on (6 X 1512 MHz CPU s)
Load Average: 0.10, 0.19, 0.77

Expected behavior Print the highest cpu frequency of all available cores, because the benchmark is always ran there.

Running ./dojo_bench
Run on (2 X 2016 MHz CPU s and 4 X 1512 MHz CPU s)
Load Average: 0.10, 0.19, 0.77

Additional context

for i in {0..5}; do cat /sys/devices/system/cpu/cpu"$i"/cpufreq/scaling_max_freq; done
1512000
1512000
1512000
1512000
2016000
2016000

The benchmark is always ran either on cpu 4 or 5. Shutting down last 2 cores causes benchmark times to drop significantly, proving that the "1512 MHz" core is never used.

Contributor Guide