Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

High number of retired instructions

Tomer_M_
Beginner
308 Views

I'm using Intel PCM to sample the number of retired instructions every two seconds:

pcmState_prev = pcmState_curr;
pcmState_curr = getSystemCounterState();
m_committed_instructions = getInstructionsRetired(pcmState_prev,pcmState_curr);

This usually works well with values ranging from 1e+8 and 1e+10 committed instructions per second on Haswell (i7-4790 CPU @ 3.60GHz). Every few hours I would get a sample with around 9e+18 committed instructions per second. Am I using the interface incorrectly? Thanks!

Tomer.

 

0 Kudos
2 Replies
TimP
Honored Contributor III
308 Views

Just what worshippers of instructions per clock need!

Maybe a timer wraparound problem?

0 Kudos
Tomer_M_
Beginner
308 Views

I wouldn't mind having 9e+18 IPS :-)

I suspect a wraparound problem in PCM or the counter itself. I added an assertion on m_committed_instructions right after the PCM call and caught it, even before I divided by the duration of the sample.

0 Kudos
Reply