2016-12-28

izard: (Default)
2016-12-28 01:51 pm
Entry tags:

Empty office, performance bugs

On Friday I was given an urgent task: I'll have to find a solution or at least a root cause of a performance problem reported by a customer, by the end of 2016.

The issue to investigate sounded extremely familiar: a micro-benchmark runs for 100us on micro-arch A and B, and for 100-200us on micro-arch C, everything else being equal. We want a design on C, performance between A, B and C are similar, what brings the difference?

In my Christmas/New Year case I was lucky and it was merely an SMI.

The very first thing to check is always to read MSR 0x34 that counts SMIs before and after u-benchmark. It is not the most common source of such issues, but easiest to check, and not difficult to fix, if you have 100% control over the platform.