aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--idlestat.c4
-rw-r--r--topology.c16
2 files changed, 6 insertions, 14 deletions
diff --git a/idlestat.c b/idlestat.c
index b6f8cbc..6f28caf 100644
--- a/idlestat.c
+++ b/idlestat.c
@@ -407,7 +407,7 @@ static void output_pstates(FILE *f, struct init_pstates *initp, int nrcpus,
* This function checks the array of struct cpufreq_pstate in @pstates
* for an entry for @freq. If one if found, the index for this entry
* is returned. If not, a new entry is inserted into the array so that
- * the frequencies are in decreasing order and the index for the new
+ * the frequencies are in increasing order and the index for the new
* entry is returned.
* @return: the index of the existing or newly allocated pstate struct
*/
@@ -419,7 +419,7 @@ static int alloc_pstate(struct cpufreq_pstates *pstates, unsigned int freq)
pstate = pstates->pstate;
nrfreq = pstates->max;
- for (i = 0; i < nrfreq && freq <= pstate[i].freq; i++) {
+ for (i = 0; i < nrfreq && freq >= pstate[i].freq; i++) {
if (pstate[i].freq == freq)
return i;
}
diff --git a/topology.c b/topology.c
index 7e44cf2..6e70773 100644
--- a/topology.c
+++ b/topology.c
@@ -625,7 +625,7 @@ int cluster_get_highest_freq(struct cpu_physical *clust)
struct cpu_cpu *cpu;
int cpu_pstate_index;
unsigned int cpu_freq;
- unsigned int ret = ~0U;
+ unsigned int ret = 0;
cluster_for_each_cpu(cpu, clust) {
cpu_pstate_index = cpu->pstates->current;
@@ -634,14 +634,10 @@ int cluster_get_highest_freq(struct cpu_physical *clust)
if (cpu->pstates->idle > 0)
continue;
cpu_freq = cpu->pstates->pstate[cpu_pstate_index].freq;
- if (cpu_freq < ret)
+ if (cpu_freq > ret)
ret = cpu_freq;
}
- /* It is possible we don't know anything near the start of trace */
- if (ret == ~0U)
- ret = 0;
-
return ret;
}
@@ -664,21 +660,17 @@ int core_get_highest_freq(struct cpu_core *core)
struct cpu_cpu *cpu;
int cpu_pstate_index;
unsigned int cpu_freq;
- unsigned int ret = ~0;
+ unsigned int ret = 0;
core_for_each_cpu(cpu, core) {
cpu_pstate_index = cpu->pstates->current;
if (cpu_pstate_index < 0)
continue;
cpu_freq = cpu->pstates->pstate[cpu_pstate_index].freq;
- if (cpu_freq < ret)
+ if (cpu_freq > ret)
ret = cpu_freq;
}
- /* It is possible we don't know anything near the start of trace */
- if (ret == ~0)
- ret = 0;
-
return ret;
}