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
This commit is contained in:
Alexander Motin 2013-12-10 20:25:43 +00:00
parent f8665529d4
commit 9d75ca28f0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=259197

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)