git: 6f50b73ee5c1 - main - libpmc: add armv8 pmu-event aliases
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 06 Jul 2022 17:32:48 UTC
The branch main has been updated by mhorne:
URL: https://cgit.FreeBSD.org/src/commit/?id=6f50b73ee5c11253a35bb2787f2bef627079999d
commit 6f50b73ee5c11253a35bb2787f2bef627079999d
Author: Mitchell Horne <mhorne@FreeBSD.org>
AuthorDate: 2022-07-06 17:30:03 +0000
Commit: Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2022-07-06 17:32:21 +0000
libpmc: add armv8 pmu-event aliases
These are all "standard microarchitectural events", which in theory are
supported by every ARMv8 processor. In practice, it depends on the
pmu-event definitions being complete and accurate, which they are not
for every processor. Still, these aliases should be functional on the
majority of systems.
PR: 254532
Reported by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35550
---
lib/libpmc/libpmc_pmu_util.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c
index 7af6d813ada6..1ae0c573d157 100644
--- a/lib/libpmc/libpmc_pmu_util.c
+++ b/lib/libpmc/libpmc_pmu_util.c
@@ -165,6 +165,21 @@ pmu_alias_get(const char *name)
#elif defined(__aarch64__)
static struct pmu_alias pmu_armv8_alias_table[] = {
+ {"UNHALTED_CORE_CYCLES", "CPU_CYCLES"},
+ {"UNHALTED-CORE-CYCLES", "CPU_CYCLES"},
+ {"LLC_MISSES", "LL_CACHE_MISS_RD"},
+ {"LLC-MISSES", "LL_CACHE_MISS_RD"},
+ {"LLC_REFERENCE", "LL_CACHE_RD"},
+ {"LLC-REFERENCE", "LL_CACHE_RD"},
+ {"BRANCH_INSTRUCTION_RETIRED", "BR_RETIRED"},
+ {"BRANCH-INSTRUCTION-RETIRED", "BR_RETIRED"},
+ {"BRANCH_MISSES_RETIRED", "BR_MIS_PRED_RETIRED"},
+ {"BRANCH-MISSES-RETIRED", "BR_MIS_PRED_RETIRED"},
+ {"unhalted-cycles", "CPU_CYCLES"},
+ {"instructions", "INST_RETIRED",},
+ {"branch-mispredicts", "BR_MIS_PRED_RETIRED"},
+ {"branches", "BR_RETIRED"},
+ {"interrupts", "EXC_IRQ"},
{NULL, NULL},
};