Pinned topic POWER7 PMCs: Is there a way to categorize the "run_cycles" on a system?
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
(received in several emails recently and paraphrased here)
When I track the hardware counter for run-cycles (those CPU cycles that are not counted as idle), I often use the CPI metric - cycles per instruction - to provide a sense of how efficiently the processor core is being leveraged. That's typically easy to do leveraging the run_cycles and instructions_completed counters.
But then, with some understanding of the complexity of how instructions are queued up within a processor, I would like to know a little more detail on what's causing the core pipeline to stall on the system.
For example, back in the POWER5 days, a nice CPI article was published on DeveloperWorks:
Is there an update applicable to POWER7?
Updated on 2011-05-25T17:56:18Z at 2011-05-25T17:56:18Z by SystemAdmin
Re: POWER7 PMCs: Is there a way to categorize the "run_cycles" on a system?2011-05-10T15:34:45ZThis is the accepted answer. This is the accepted answer.Here's an example of the structure of selected POWER7 counters.
It would be nice to get a script to run "perf" against these counters as an example.
Re: POWER7 PMCs: Is there a way to categorize the "run_cycles" on a system?2011-05-25T17:56:18ZThis is the accepted answer. This is the accepted answer.Here is an available link describing the Power CPI breakdown model based on the perf tool P7 event counters along with an attached set of python scripts (perf-wrapper.tar.gz) for providing CPI analysis examples.
There are 20+ counters related to CPI analysis - and most are accessible through the use of raw event codes. These scripts support cross referenced CPI event names so that you will not have to map the perf event counters with the raw codes.
We hope to continue development on this tool to support other events, so keep checking back for updates.