diff options
author | Artem Bityutskiy <artem.bityutskiy@linux.intel.com> | 2018-07-25 10:52:06 +0200 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2018-07-26 20:20:39 +0200 |
commit | 4f206a0fabc3e806349add0996b3a999739559d2 (patch) | |
tree | 2623818ee7da7a05f507126d6a2583fb94fd4baf /crypto/Makefile | |
parent | tools/power turbostat: fix -S on UP systems (diff) | |
download | linux-4f206a0fabc3e806349add0996b3a999739559d2.tar.xz linux-4f206a0fabc3e806349add0996b3a999739559d2.zip |
tools/power turbostat: fix bogus summary values
This patch fixes a regression introduced in
commit 8cb48b32a5de ("tools/power turbostat: track thread ID in cpu_topology")
Turbostat uses incorrect cores number ('topo.num_cores') - its value is count
of logical CPUs, instead of count of physical cores. So it is twice as large as
it should be on a typical Intel system. For example, on a 6 core Xeon system
'topo.num_cores' is 12, and on a 52 core Xeon system 'topo.num_cores' is 104.
And interestingly, on a 68-core Knights Landing Intel system 'topo.num_cores'
is 272, because this system has 4 logical CPUs per core.
As a result, some of the turbostat calculations are incorrect. For example,
on idle 52-core Xeon system when all cores are ~99% in Core C6 (CPU%c6), the
summary (very first) line shows ~48% Core C6, while it should be ~99%.
This patch fixes the problem by fixing 'topo.num_cores' calculation.
Was:
1. Init 'thread_id' for all CPUs to -1
2. Run 'get_thread_siblings()' which sets it to 0 or 1
3. Increment 'topo.num_cores' when thread_id != -1 (bug!)
Now:
1. Init 'thread_id' for all CPUs to -1
2. Run 'get_thread_siblings()' which sets it to 0 or 1
3. Increment 'topo.num_cores' when thread_id is not 0
I did not have a chance to test this on an AMD machine, and only tested on a
couple of Intel Xeons (6 and 52 cores).
Reported-by: Vladislav Govtva <vladislav.govtva@intel.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'crypto/Makefile')
0 files changed, 0 insertions, 0 deletions