From 488d4ac2a2808cfc49d9f3d326aefab78b888298 Mon Sep 17 00:00:00 2001 From: Namhyung Kim Date: Fri, 16 Nov 2012 00:17:56 +0900 Subject: 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 Signed-off-by: Namhyung Kim --- src/cpu/cpu_core.cpp | 3 +-- src/cpu/intel_cpus.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'src') 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; -- cgit v1.2.3