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

           Summary: CPU wakeup must be per-CPU
    Classification: Development
           Product: power-mgmt
           Version: unspecified
          Platform: i86pc/amd64
        OS/Version: OpenSolaris
            Status: NEW
          Severity: minor
          Priority: P4
         Component: c-state
        AssignedTo: bill.holler at sun.com
        ReportedBy: aubrey.li at intel.com
                CC: tesla-dev at opensolaris.org
   Estimated Hours: 0.0


Quote from Bill's comment in the code.  
/*
 * XXX: cpu wakeup mechanism needs work if we will support
 * both MONITOR/MWAIT style memory write and IPI.
 * 1. CPU wakeup must be per-CPU.
 * 2. A critical section exists between when a waker reads the
 *    wakeup method and when it wakes up a CPU.  The CPU
 *    being woken up can wakeup and idle again with a different
 *    idle type in the waking CPU's critical section.
 *
 *    CPU1                  CPU2 (idle)
 *      |                       |
 *      v                       |
 *  Read CPU2's                 |
 *  wakeup mechanism            |
 *      |                       v
 *      v              CPU2 wakes up
 *  Interrupt                   |
 *      |                       V
 *      |              CPU2 enters different
 *      |              idle C-state with
 *      |              different wakeup
 *      v                       |
 *   CPU1 wakes CPU2            |
 *   using wrong                |
 *   wakeup mechanism           v
 *      |              CPU2 still asleep
 */

-- 
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