Messages in this thread | | | Subject | Re: [PATCH] perf/x86/intel/lbr: Optimize context switches for LBR | From | "Liang, Kan" <> | Date | Fri, 14 Sep 2018 10:57:31 -0400 |
| |
On 9/14/2018 10:27 AM, Andi Kleen wrote: > On Fri, Sep 14, 2018 at 08:39:36AM -0400, Liang, Kan wrote: >> >> >> On 9/14/2018 5:22 AM, Alexey Budankov wrote: >>> >>> 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? >>> >> >> The optimization for LBR call stack has been merged into 4.19. >> commit id: 8b077e4a69bef5c4121426e99497975860191e53 >> perf/x86/intel/lbr: Optimize context switches for the LBR call stack > > I think he mean support for LBR call stack in general. This has been there > for a long time (since Haswell) Any reasonable kernel version should > support it. >
Oh I see. Yes, the feature of LBR call stack was added long time ago. But I still recommend 4.19. Because it includes a recent bug fix for LBR call stack.
commit id: 0592e57b24e7e05ec1f4c50b9666c013abff7017 perf/x86/intel/lbr: Fix incomplete LBR call stack
Thanks, Kan
| |