Re: [PATCH] perf/x86/intel/lbr: fix branch type encoding

From: Andi Kleen
Date: Fri Aug 12 2022 - 04:17:02 EST




I think the option is to avoid the overhead of disassembling of branch
instruction. See eb0baf8a0d92 ("perf/core: Define the common branch type
classification")
"Since the disassembling of branch instruction needs some overhead,
a new PERF_SAMPLE_BRANCH_TYPE_SAVE is introduced to indicate if it
needs to disassemble the branch instruction and record the branch
type."


Thanks for digging it out. So it was only performance.


I have no idea how big the overhead is. If we can always be benefit from
the branch type. I guess we can make it default on.

I thought even arch LBR had one case where it had to disassemble, but perhaps it's unlikely enough because it's pre filtered. If yes it may be ok to enable it there unconditionally at the kernel level.

Still have to decide if we want older parts to have more overhead by default. I guess would need some data on that.


-Andi