Messages in this thread | | | From | Andi Kleen <> | Subject | | Date | Wed, 27 May 2015 21:13:13 -0700 |
| |
[Repost; I forgot to copy linux-kernel earlier. Apologies if you see it twice.]
Skylake moved to 32 Last Branch Records, from previously 16. The current call stack LBR implementation reads all LBRs and also saves/restores them on context switch. This patchkit adds some optimizations to avoid extra costs in most cases from the larger number of LBRs for call-stack, unless a nesting larger than 16 is actually needed. It applies on top of the earlier Skylake code. Some of the optimization will also benefit earlier CPUs, such as Haswell.
note: one patch is for perf user space, the rest is kernel.
-Andi
| |