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.