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.

Reply via email to