IP Library › Granted Patent US 8,949,637
Granted Patent B2
US 8,949,637 · App. 13/070,700 · Granted Feb 3, 2015

Obtaining power profile information with low overhead

Inventor: Robert Knight (Mahomet, IL)
Assignee: Intel Corporation
G06F1/3206G06F1/3287Y02B60/32
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,949,637
App. No.
13/070,700
Filed
Mar 24, 2011
Granted
Feb 3, 2015
Kind
B2
Art Unit
2118
USPC
713/320
Abstract

In one embodiment, a method includes, upon occurrence of multiple power state transition events for a core of a multi-core processor, reading a value of a system counter of the core and values of low power counters of the core, without expiration of a timer or triggering of an interrupt. These values can be stored in a storage of the processor. Then, after collection is completed, the storage can be accessed to determine a power profile of the processor using the stored values. Other embodiments are described and claimed.

Claims (37)

1. A method comprising:

registering a function of a device driver of a power profiler with an operating system (OS), the power profiler to be called when a power state transition event occurs in a processor of a system;

allocating a buffer to store information related to the power state transition event; and

on occurrence of the power state transition event as a trigger event for the power profiler, calling the function to:

read a system counter value and a counter value of the processor for each of one or more low power states of the processor; and

write the system counter value and the one or more counter values into the buffer to deterministically collect information during a profiling window, wherein the power profiler does not schedule an event to collect the information, such that the system counter value and the plurality of counter values are read without occurrence of an interrupt or a timer expiration.

2. The method of claim 1 , further comprising passing control from the OS to a collection function of the device driver of the power profiler to read the system counter value and the plurality of counter values.

3. The method of claim 2 , further comprising inserting a call to the collection function in a tracepoint of the OS.

4. The method of claim 1 , further comprising reading the system counter value and the plurality of counter values for each of a plurality of power state transition events, and for each of the power state transition events, writing the system counter value and the plurality of counter values to the buffer.

5. The method of claim 4 , further comprising determining an elapsed time between a first and second power state transition event based on the system counter value read at the first and second power state transition events and determining a duration and type of a low power state entered after the first power state transition event based on the plurality of counter values read at the first and second power state transition events.

6. The method of claim 5 , further comprising determining a difference between the system counter value read at the first and second power state transition events.

7. The method of claim 5 , further comprising providing information including the duration and low power state type to the OS that requested the first power state transition event.

8. The method of claim 7 , further comprising modifying a behavior of the operating system, wherein the operating system requested that the first power state transition event be of a different type, the component overriding the request to a different low power state corresponding to the low power state type.

9. The method of claim 5 , further comprising recording the elapsed time, the duration and the low power state type in a table.

10. An article comprising a non-transitory machine-accessible storage medium including instructions that when executed cause a system to:

upon occurrence of each of a plurality of power state transition events of a first direction for a core of a multi-core processor and without scheduling an event for collection of information, call a function of a power profiler from a notification mechanism of an operating system to:

read a value of a system counter of the core and values of each of a plurality of low power counters of the core to collect the information, without expiration of a timer or triggering of an interrupt that would cause the core to exit a low power state; and

store the system counter value and the plurality of low power counter values in a storage of the multi-core processor; and

after the plurality of power state transition events, access the storage to determine a power profile of the multi-core processor using the stored system counter values and the stored plurality of low power counter values.

11. The article of claim 10 , further comprising instructions that when executed enable the system to determine an elapsed time between a first and second power state transition event based on the system counter value read at the first and second power state transition events and determine a duration and type of a low power state entered after the first power state transition event based on the plurality of low power counter values read at the first and second power state transition events.

12. The article of claim 11 , further comprising instructions that when executed enable the system to record the elapsed time, the duration and the low power state type in a table, and provide information including the duration and low power state type to the operating system.

13. The article of claim 12 , further comprising instructions that when executed enable the system to call the function when each of the plurality of power state transition events occurs to read the system counter value and the plurality of low power counter values.

14. The article of claim 10 , further comprising instructions that when executed enable the system to allocate a buffer to store the system counter values and the plurality of low power counter values.

15. The article of claim 10 , further comprising instructions that when executed enable the system to pass control from the operating system to a collection function of a device driver of the power profiler to read the system counter value and the plurality of low power counter values.

16. A system comprising:

a multi-core processor including a plurality of cores, each core of the plurality of cores including:

a front end logic;

an out-of-order logic;

a backend logic;

a time stamp counter to store a count of cycles; and

a plurality of low power state counters, each of the plurality of low power state counters to count the cycles in which the core is in the corresponding low power state; and

a power profiler having a device driver including a function, responsive to notification to the power profiler of a power state transition event, to:

read the time stamp counter and the plurality of low power state counters for each of one or more low power states of the multi-core processor, without scheduling an event for collection of information that would cause the core to exit a low power state; and

write the time stamp counter value and the plurality of low power state counter values into a buffer.

17. The system of claim 16 , wherein the power profiler is to read the time stamp counter and the plurality of low power state counters for a consecutive number of power state transition events of a first direction.

18. The system of claim 17 , wherein the power profiler is to read the time stamp counter and the plurality of low power state counters without expiration of a timer or triggering of an interrupt.

19. The system of claim 16 , wherein the power profiler includes a collection function that is called by a notification mechanism of an operating system with which the power profiler is registered, the notification mechanism to execute during a power state transition event into each of the one or more low power states.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2011
From: KNIGHT, ROBERT
To: INTEL CORPORATION
Reel/Frame 026251/0841 →
Continuity (1)
Related Publication 20120246506A1 · Sep 27, 2012