http://defect.opensolaris.org/bz/show_bug.cgi?id=6379


Bill Holler <bill.holler at sun.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |CAUSEKNOWN




--- Comment #1 from Bill Holler <bill.holler at sun.com>  2009-02-04 17:57:55 
---
cpupm_next_cstate() returns uninitialized data until the first sample
period is over.  The cs_next_cstate member should be initialized
in  cpupm_alloc_ms_cstate().

The ASSERT is also wrong in cpupm_alloc_ms_cstate().

Proposed fix:

void
cpupm_alloc_ms_cstate(cpu_t *cp)
{
        cpupm_mach_state_t *mach_state;
        cpupm_mach_acpi_state_t *ms_cstate;

        mach_state = (cpupm_mach_state_t *)(cp->cpu_m.mcpu_pm_mach_state);
        ms_cstate = &mach_state->ms_cstate;
--      ASSERT(ms_cstate == NULL);
++      ASSERT(ms_cstate->cma_state.cstate == NULL);
        ms_cstate->cma_state.cstate = kmem_zalloc(sizeof (cma_c_state_t),
            KM_SLEEP);
++      ms_cstate->cma_state.cstate->cs_next_cstate = CPU_ACPI_C1;
}

-- 
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

Reply via email to