Re: [PATCH] perf/x86/intel/lbr: Optimize context switches for LBR

From: Alexey Budankov
Date: Fri Sep 14 2018 - 05:23:00 EST



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
>