git: e144cd92bb15 - main - libpmc: Prefer fixed counters in Intel event aliases.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 02 Jun 2022 19:17:33 UTC
The branch main has been updated by mav:
URL: https://cgit.FreeBSD.org/src/commit/?id=e144cd92bb150b5636f97af3c1c89da49edf8ac8
commit e144cd92bb150b5636f97af3c1c89da49edf8ac8
Author: Alexander Motin <mav@FreeBSD.org>
AuthorDate: 2022-06-02 19:09:38 +0000
Commit: Alexander Motin <mav@FreeBSD.org>
CommitDate: 2022-06-02 19:17:13 +0000
libpmc: Prefer fixed counters in Intel event aliases.
It is recommended by Intel to use fixed counters when possible to
leave programmable ones for different events.
This fixes `pmc stat`, which tries to count 6 events same time, while
many Intel CPUs have only 4 programmable counters.
MFC after: 1 month
---
lib/libpmc/libpmc_pmu_util.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c
index a7c090ceb4d3..7af6d813ada6 100644
--- a/lib/libpmc/libpmc_pmu_util.c
+++ b/lib/libpmc/libpmc_pmu_util.c
@@ -60,8 +60,8 @@ typedef enum {
} pmu_mfr_t;
static struct pmu_alias pmu_intel_alias_table[] = {
- {"UNHALTED_CORE_CYCLES", "CPU_CLK_UNHALTED.THREAD_P_ANY"},
- {"UNHALTED-CORE-CYCLES", "CPU_CLK_UNHALTED.THREAD_P_ANY"},
+ {"UNHALTED_CORE_CYCLES", "cpu_clk_unhalted.thread"},
+ {"UNHALTED-CORE-CYCLES", "cpu_clk_unhalted.thread"},
{"LLC_MISSES", "LONGEST_LAT_CACHE.MISS"},
{"LLC-MISSES", "LONGEST_LAT_CACHE.MISS"},
{"LLC_REFERENCE", "LONGEST_LAT_CACHE.REFERENCE"},
@@ -74,8 +74,8 @@ static struct pmu_alias pmu_intel_alias_table[] = {
{"BRANCH-INSTRUCTION-RETIRED", "BR_INST_RETIRED.ALL_BRANCHES"},
{"BRANCH_MISSES_RETIRED", "BR_MISP_RETIRED.ALL_BRANCHES"},
{"BRANCH-MISSES-RETIRED", "BR_MISP_RETIRED.ALL_BRANCHES"},
- {"unhalted-cycles", "CPU_CLK_UNHALTED.THREAD_P_ANY"},
- {"instructions", "inst_retired.any_p"},
+ {"unhalted-cycles", "cpu_clk_unhalted.thread"},
+ {"instructions", "inst_retired.any"},
{"branch-mispredicts", "br_misp_retired.all_branches"},
{"branches", "br_inst_retired.all_branches"},
{"interrupts", "hw_interrupts.received"},