diff options
author | Namhyung Kim <namhyung@gmail.com> | 2012-11-16 00:17:56 +0900 |
---|---|---|
committer | Chris E Ferron <chris.e.ferron@linux.intel.com> | 2012-11-15 08:20:53 -0800 |
commit | 488d4ac2a2808cfc49d9f3d326aefab78b888298 (patch) | |
tree | ccb83f8a3f2032a9d8e95abe47e2bce7c0496f2a | |
parent | 29f42b5b30a8841d449dc825cf41f2d8ee956517 (diff) | |
download | powertop-2.0-v2-488d4ac2a2808cfc49d9f3d326aefab78b888298.tar.gz |
cpu: Fix leftovers from the P state cpu frequency calculation
The commit 15b8bfb ("Ignore non-P-state-enabled CPUs when calculating
frequency") and 29f42b5 ("fixed issues with p-state reported CPU
frequencies") fixed frequency calculation for cpu packages but missed
it for cpu cores. Add it.
This fixes wrong frequency report on my quad-core box: 2072.5% -> 100.0%
Cc: Ivan Shapovalov <intelfx100@gmail.com>
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
-rw-r--r-- | src/cpu/cpu_core.cpp | 3 | ||||
-rw-r--r-- | src/cpu/intel_cpus.cpp | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/cpu/cpu_core.cpp b/src/cpu/cpu_core.cpp index b0dd4da..2caa58d 100644 --- a/src/cpu/cpu_core.cpp +++ b/src/cpu/cpu_core.cpp @@ -131,10 +131,9 @@ void cpu_core::calculate_freq(uint64_t time) bool is_idle = true; unsigned int i; - /* calculate the maximum frequency of all children */ for (i = 0; i < children.size(); i++) - if (children[i]) { + if (children[i] && children[i]->has_pstates()) { uint64_t f = 0; if (!children[i]->idle) { f = children[i]->current_frequency; diff --git a/src/cpu/intel_cpus.cpp b/src/cpu/intel_cpus.cpp index f7b86bc..19ad85c 100644 --- a/src/cpu/intel_cpus.cpp +++ b/src/cpu/intel_cpus.cpp @@ -240,7 +240,7 @@ void nhm_core::calculate_freq(uint64_t time) /* calculate the maximum frequency of all children */ for (i = 0; i < children.size(); i++) - if (children[i]) { + if (children[i] && children[i]->has_pstates()) { uint64_t f = 0; if (!children[i]->idle) { f = children[i]->current_frequency; |