http://defect.opensolaris.org/bz/show_bug.cgi?id=3224
Summary: LAPIC Current Count Register can be used instead of top
cyclic_t
Classification: Development
Product: power-mgmt
Version: unspecified
Platform: Other
OS/Version: Other
Status: NEW
Severity: normal
Priority: P4
Component: c-state
AssignedTo: bill.holler at sun.com
ReportedBy: bill.holler at sun.com
CC: tesla-dev at opensolaris.org
Estimated Hours: 0.0
The Deep C-State prototype currently reads the top cyclic_t data structure
on the CPU's cyclic heap to determine the next Local APIC timer fire time.
This requires data structure access with locking and interrupt considerations.
Instead the LAPIC's Current Count Register can be read directly.
This register contains the count until the LAPIC will fire its next
interrupt. Deep C-State is only supported when the LAPIC is in one shot mode.
The LAPIC's Current Count Register is accessed in the pcplusmp APIC layer;
the top cyclic on the heap is in the cyclic layer.
The cyclic_t contains an hrtime_t. The LAPIC Current Count Register
contains an interval time in LAPIC ticks. The time read from the
Current Count register will have to be scaled for use in the HPET.
There may be some skew added to the next LAPIC interrupt time due
to reading this value, converting it, and then programming the HPET.
--
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.