Empty office, performance bugs
Dec. 28th, 2016 01:51 pmOn 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.
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.