These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / tools / power / cpupower / utils / idle_monitor / mperf_monitor.c
index 90a8c4f..c83f160 100644 (file)
@@ -135,7 +135,7 @@ static int mperf_get_count_percent(unsigned int id, double *percent,
                dprint("%s: TSC Ref - mperf_diff: %llu, tsc_diff: %llu\n",
                       mperf_cstates[id].name, mperf_diff, tsc_diff);
        } else if (max_freq_mode == MAX_FREQ_SYSFS) {
-               timediff = timespec_diff_us(time_start, time_end);
+               timediff = max_frequency * timespec_diff_us(time_start, time_end);
                *percent = 100.0 * mperf_diff / timediff;
                dprint("%s: MAXFREQ - mperf_diff: %llu, time_diff: %llu\n",
                       mperf_cstates[id].name, mperf_diff, timediff);
@@ -176,7 +176,7 @@ static int mperf_get_count_freq(unsigned int id, unsigned long long *count,
        dprint("%s: Average freq based on %s maximum frequency:\n",
               mperf_cstates[id].name,
               (max_freq_mode == MAX_FREQ_TSC_REF) ? "TSC calculated" : "sysfs read");
-       dprint("%max_frequency: %lu", max_frequency);
+       dprint("max_frequency: %lu\n", max_frequency);
        dprint("aperf_diff: %llu\n", aperf_diff);
        dprint("mperf_diff: %llu\n", mperf_diff);
        dprint("avg freq:   %llu\n", *count);
@@ -279,6 +279,7 @@ use_sysfs:
                return -1;
        }
        max_freq_mode = MAX_FREQ_SYSFS;
+       max_frequency /= 1000; /* Default automatically to MHz value */
        return 0;
 }