perf branch: Add PERF_BR_NEW_ARCH_[N] map for BRBE on arm64 platform
This updates the perf tool with arch specific branch type classification used for BRBE on arm64 platform as added in the kernel earlier. Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@arm.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Robin Murphy <robin.murphy@arm.com> Cc: Suzuki Poulouse <suzuki.poulose@arm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Will Deacon <will@kernel.org> Cc: linux-arm-kernel@lists.infradead.org Link: https://lore.kernel.org/r/20220824044822.70230-9-anshuman.khandual@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
bcb96ce6d2
commit
fb42f8b729
@@ -282,6 +282,12 @@ enum {
|
|||||||
PERF_BR_PRIV_HV = 3,
|
PERF_BR_PRIV_HV = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define PERF_BR_ARM64_FIQ PERF_BR_NEW_ARCH_1
|
||||||
|
#define PERF_BR_ARM64_DEBUG_HALT PERF_BR_NEW_ARCH_2
|
||||||
|
#define PERF_BR_ARM64_DEBUG_EXIT PERF_BR_NEW_ARCH_3
|
||||||
|
#define PERF_BR_ARM64_DEBUG_INST PERF_BR_NEW_ARCH_4
|
||||||
|
#define PERF_BR_ARM64_DEBUG_DATA PERF_BR_NEW_ARCH_5
|
||||||
|
|
||||||
#define PERF_SAMPLE_BRANCH_PLM_ALL \
|
#define PERF_SAMPLE_BRANCH_PLM_ALL \
|
||||||
(PERF_SAMPLE_BRANCH_USER|\
|
(PERF_SAMPLE_BRANCH_USER|\
|
||||||
PERF_SAMPLE_BRANCH_KERNEL|\
|
PERF_SAMPLE_BRANCH_KERNEL|\
|
||||||
|
|||||||
@@ -45,11 +45,24 @@ const char *branch_new_type_name(int new_type)
|
|||||||
"FAULT_ALGN",
|
"FAULT_ALGN",
|
||||||
"FAULT_DATA",
|
"FAULT_DATA",
|
||||||
"FAULT_INST",
|
"FAULT_INST",
|
||||||
|
/*
|
||||||
|
* TODO: This switch should happen on 'session->header.env.arch'
|
||||||
|
* instead, because an arm64 platform perf recording could be
|
||||||
|
* opened for analysis on other platforms as well.
|
||||||
|
*/
|
||||||
|
#ifdef __aarch64__
|
||||||
|
"ARM64_FIQ",
|
||||||
|
"ARM64_DEBUG_HALT",
|
||||||
|
"ARM64_DEBUG_EXIT",
|
||||||
|
"ARM64_DEBUG_INST",
|
||||||
|
"ARM64_DEBUG_DATA"
|
||||||
|
#else
|
||||||
"ARCH_1",
|
"ARCH_1",
|
||||||
"ARCH_2",
|
"ARCH_2",
|
||||||
"ARCH_3",
|
"ARCH_3",
|
||||||
"ARCH_4",
|
"ARCH_4",
|
||||||
"ARCH_5"
|
"ARCH_5"
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
if (new_type >= 0 && new_type < PERF_BR_NEW_MAX)
|
if (new_type >= 0 && new_type < PERF_BR_NEW_MAX)
|
||||||
|
|||||||
Reference in New Issue
Block a user