google/benchmark

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

Open

#1,385 opened on 2022年4月27日

GitHub で見る
 (0 comments) (0 reactions) (0 assignees)C++ (7,968 stars) (1,539 forks)batch import
bughelp wanted

説明

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.

コントリビューターガイド

[BUG] ARM big.LITTLE boards report wrong cpu count and frequency · google/benchmark#1385 | Good First Issue