summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/cpu_pm.c
diff options
context:
space:
mode:
authorEric Saxe <Eric.Saxe@Sun.COM>2009-06-05 10:26:05 -0700
committerEric Saxe <Eric.Saxe@Sun.COM>2009-06-05 10:26:05 -0700
commitb25e2337574c465b86a1b0cc0dbc78f14aa4eb03 (patch)
tree87f8f90ffad0ea0cef5e3117d9b45d9cf8062a4d /usr/src/uts/common/os/cpu_pm.c
parent8c85eba603afcc2b3f7e6f198795cee5d1c86a98 (diff)
downloadillumos-gate-b25e2337574c465b86a1b0cc0dbc78f14aa4eb03.tar.gz
6818514 Event based CPUPM too easily shifts into high gear
Diffstat (limited to 'usr/src/uts/common/os/cpu_pm.c')
-rw-r--r--usr/src/uts/common/os/cpu_pm.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/usr/src/uts/common/os/cpu_pm.c b/usr/src/uts/common/os/cpu_pm.c
index 848907af1d..a439db0a7c 100644
--- a/usr/src/uts/common/os/cpu_pm.c
+++ b/usr/src/uts/common/os/cpu_pm.c
@@ -448,8 +448,18 @@ cpupm_utilization_event(struct cpu *cp, hrtime_t now, cpupm_domain_t *dom,
* this a mispredicted power state
* transition due to a transient
* idle period.
+ *
+ * Note: The presence of enough
+ * transient work across the domain can
+ * result in frequent transient idle
+ * periods. We don't want the ti
+ * governor being installed as a side
+ * effect of transient work, so the ti
+ * governor is left alone if the tw
+ * governor is already installed.
*/
- if (++dom->cpd_ti >=
+ if (dom->cpd_tw_governed == B_FALSE &&
+ ++dom->cpd_ti >=
cpupm_mispredict_thresh) {
/*
* There's enough transient