Hi Andi,
On 14.09.2018 11:54, Andi Kleen wrote: >>> In principle the LBRs need to be flushed between threads. So does >>> current code. >> >> IMHO, ideally, LBRs stack would be preserved and restored when >> switching between execution stacks. That would allow implementing >> per-thread statistical call graph view in Perf tools, fully based >> on HW capabilities. It could be advantageous for some cases, in >> comparison with traditional dwarf based call graph. > > This is already supported when you use LBR call stack mode > (perf record --call-graph lbr) Which kernel versions does it make sense to try? Thanks, Alexey > > This change is only optimizing the case when call stack mode is not used. > > Of course in call stack mode the context switch overhead is even higher, > because it not only writes, but also reads. > > -Andi >