MFC r259197:

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.
This commit is contained in:
mav 2014-01-09 10:44:27 +00:00
parent dd0e0d7345
commit 211b1cf423

View File

@ -1288,10 +1288,9 @@ est_set_id16(device_t dev, uint16_t id16, int need_check)
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)