[Midnightbsd-cvs] src [7750] trunk/sys/kern/kern_cpu.c: fix cpu frequency on turbo boost cpus
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sat Aug 20 19:04:48 EDT 2016
Revision: 7750
http://svnweb.midnightbsd.org/src/?rev=7750
Author: laffer1
Date: 2016-08-20 19:04:48 -0400 (Sat, 20 Aug 2016)
Log Message:
-----------
fix cpu frequency on turbo boost cpus
Modified Paths:
--------------
trunk/sys/kern/kern_cpu.c
Modified: trunk/sys/kern/kern_cpu.c
===================================================================
--- trunk/sys/kern/kern_cpu.c 2016-08-20 22:47:00 UTC (rev 7749)
+++ trunk/sys/kern/kern_cpu.c 2016-08-20 23:04:48 UTC (rev 7750)
@@ -417,7 +417,7 @@
struct cf_setting *curr_set, set;
struct pcpu *pc;
device_t *devs;
- int count, error, i, n, numdevs;
+ int bdiff, count, diff, error, i, n, numdevs;
uint64_t rate;
sc = device_get_softc(dev);
@@ -493,14 +493,15 @@
}
cpu_est_clockrate(pc->pc_cpuid, &rate);
rate /= 1000000;
+ bdiff = 1 << 30;
for (i = 0; i < count; i++) {
- if (CPUFREQ_CMP(rate, levels[i].total_set.freq)) {
+ diff = abs(levels[i].total_set.freq - rate);
+ if (diff < bdiff) {
+ bdiff = diff;
sc->curr_level = levels[i];
- CF_DEBUG("get estimated freq %d\n", curr_set->freq);
- goto out;
}
}
- error = ENXIO;
+ CF_DEBUG("get estimated freq %d\n", curr_set->freq);
out:
if (error == 0)
More information about the Midnightbsd-cvs
mailing list