google/benchmark

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

Open

#1,385 建立於 2022年4月27日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)C++ (1,539 fork)batch import
bughelp wanted

倉庫指標

Star
 (7,968 star)
PR 合併指標
 (平均合併 4天 2小時) (30 天內合併 19 個 PR)

描述

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.

貢獻者指南