diff options
author | Anup Pemmaiah <Napanda.Pemmaiah@Sun.COM> | 2009-10-23 11:50:59 -0400 |
---|---|---|
committer | Anup Pemmaiah <Napanda.Pemmaiah@Sun.COM> | 2009-10-23 11:50:59 -0400 |
commit | 29091f177aaaca472c062f5f3f5d66ac1799e1a7 (patch) | |
tree | 32d70ae02a4889bdd94f17af5a46bb2325d6c9e2 /usr/src | |
parent | 6edb4230a40618bae549a7adf7bffcbd0fdba3d2 (diff) | |
download | illumos-gate-29091f177aaaca472c062f5f3f5d66ac1799e1a7.tar.gz |
6892621 x4440 hits mach_state->ms_cstate.cma_domain != NULL with 10/13 bits
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/i86pc/os/cpupm/cpupm_mach.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/usr/src/uts/i86pc/os/cpupm/cpupm_mach.c b/usr/src/uts/i86pc/os/cpupm/cpupm_mach.c index cbd2409025..0ea8197075 100644 --- a/usr/src/uts/i86pc/os/cpupm/cpupm_mach.c +++ b/usr/src/uts/i86pc/os/cpupm/cpupm_mach.c @@ -207,6 +207,8 @@ cpupm_init(cpu_t *cp) mach_state->ms_caps |= CPUPM_P_STATES; } } + } else { + cpupm_disable(CPUPM_P_STATES); } if (mach_state->ms_tstate.cma_ops != NULL) { @@ -217,6 +219,8 @@ cpupm_init(cpu_t *cp) } else { mach_state->ms_caps |= CPUPM_T_STATES; } + } else { + cpupm_disable(CPUPM_T_STATES); } /* @@ -249,6 +253,8 @@ cpupm_init(cpu_t *cp) idle_cpu = non_deep_idle_cpu; disp_enq_thread = non_deep_idle_disp_enq_thread; } + } else { + cpupm_disable(CPUPM_C_STATES); } @@ -267,9 +273,15 @@ cpupm_init(cpu_t *cp) mach_state->ms_caps & CPUPM_P_STATES, mach_state->ms_caps & CPUPM_C_STATES); } - cpupm_throttle_manage_notification(cp); - cpuidle_manage_cstates(cp); - cpupm_power_manage_notifications(cp); + if (mach_state->ms_caps & CPUPM_T_STATES) { + cpupm_throttle_manage_notification(cp); + } + if (mach_state->ms_caps & CPUPM_C_STATES) { + cpuidle_manage_cstates(cp); + } + if (mach_state->ms_caps & CPUPM_P_STATES) { + cpupm_power_manage_notifications(cp); + } cpupm_add_notify_handler(cp, cpupm_event_notify_handler, cp); } first = B_FALSE; |