Author: mav
Date: Tue Dec 10 20:25:43 2013
New Revision: 259197
URL: http://svnweb.freebsd.org/changeset/base/259197

Log:
  Do not DELAY() for P-state transition unless we want to see the result.
  
  Intel manual says: "If a transition is already in progress, transition to
  a new value will subsequently take effect. Reads of IA32_PERF_CTL determine
  the last targeted operating point."  So seems it should be fine to just
  trigger wanted transition and go.  Linux does the same.
  
  MFC after:    1 month

Modified:
  head/sys/x86/cpufreq/est.c

Modified: head/sys/x86/cpufreq/est.c
==============================================================================
--- head/sys/x86/cpufreq/est.c  Tue Dec 10 20:09:49 2013        (r259196)
+++ head/sys/x86/cpufreq/est.c  Tue Dec 10 20:25:43 2013        (r259197)
@@ -1288,10 +1288,9 @@ est_set_id16(device_t dev, uint16_t id16
        msr = (msr & ~0xffff) | id16;
        wrmsr(MSR_PERF_CTL, msr);
 
-       /* Wait a short while for the new setting.  XXX Is this necessary? */
-       DELAY(EST_TRANS_LAT);
-
        if  (need_check) {
+               /* Wait a short while and read the new status. */
+               DELAY(EST_TRANS_LAT);
                est_get_id16(&new_id16);
                if (new_id16 != id16) {
                        if (bootverbose)
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to