OSDN Git Service

perf/x86/amd/lbr: Use fusion-aware branch classifier
authorSandipan Das <sandipan.das@amd.com>
Thu, 11 Aug 2022 12:29:59 +0000 (17:59 +0530)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 26 Aug 2022 22:05:45 +0000 (00:05 +0200)
commit245268c19f701c7222dedcb6a383bc73d63925d4
tree8bf43f1f7935c452c71db5a4b752290d4d3a2496
parentdf3e9612f758fb5f9c251cbe262e3c68ffe67b2c
perf/x86/amd/lbr: Use fusion-aware branch classifier

AMD Last Branch Record Extension Version 2 (LbrExtV2) can report a branch
from address that points to an instruction preceding the actual branch by
several bytes due to branch fusion and further optimizations in Zen4
processors.

In such cases, software should move forward sequentially in the instruction
stream from the reported address and the address of the first branch
encountered should be used instead. Hence, use the fusion-aware branch
classifier to determine the correct branch type and get the offset for
adjusting the branch from address.

Signed-off-by: Sandipan Das <sandipan.das@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/c324d2d0a9c3976da30b9563d09e50bfee0f264d.1660211399.git.sandipan.das@amd.com
arch/x86/events/amd/lbr.c