git: 73b7b181e691 - main - libpmc: Disable hardcoding of Intel fixed counters.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 31 May 2022 00:05:23 UTC
The branch main has been updated by mav:
URL: https://cgit.FreeBSD.org/src/commit/?id=73b7b181e691ebbe8a0e411fd60f5003b51dc75d
commit 73b7b181e691ebbe8a0e411fd60f5003b51dc75d
Author: Alexander Motin <mav@FreeBSD.org>
AuthorDate: 2022-05-30 23:58:40 +0000
Commit: Alexander Motin <mav@FreeBSD.org>
CommitDate: 2022-05-31 00:05:15 +0000
libpmc: Disable hardcoding of Intel fixed counters.
Intel json's now have pretty reasonable fixed counters representation
via event=0 and umask. Hardcoded values create more confusion than fix.
MFC after: 1 month
---
lib/libpmc/libpmc_pmu_util.c | 3 +--
lib/libpmc/pmu-events/jevents.c | 2 ++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c
index 0f9fc0391589..765196ecc8ac 100644
--- a/lib/libpmc/libpmc_pmu_util.c
+++ b/lib/libpmc/libpmc_pmu_util.c
@@ -528,8 +528,7 @@ pmc_pmu_intel_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm,
strcasestr(event_name, "uncore") != NULL) {
pm->pm_class = PMC_CLASS_UCP;
pm->pm_caps |= PMC_CAP_QUALIFIER;
- } else if ((ped->ped_umask == -1) ||
- (ped->ped_event == 0x0 && ped->ped_umask == 0x3)) {
+ } else if (ped->ped_event == 0x0) {
pm->pm_class = PMC_CLASS_IAF;
} else {
pm->pm_class = PMC_CLASS_IAP;
diff --git a/lib/libpmc/pmu-events/jevents.c b/lib/libpmc/pmu-events/jevents.c
index 5a296031451e..ff7d3b226932 100644
--- a/lib/libpmc/pmu-events/jevents.c
+++ b/lib/libpmc/pmu-events/jevents.c
@@ -480,12 +480,14 @@ static struct fixed {
const char *name;
const char *event;
} fixed[] = {
+#if 0
{ "inst_retired.any", "event=0xc0,period=2000003" },
{ "inst_retired.any_p", "event=0xc0,period=2000003" },
{ "cpu_clk_unhalted.ref", "event=0x0,umask=0x03,period=2000003" },
{ "cpu_clk_unhalted.thread", "event=0x3c,period=2000003" },
{ "cpu_clk_unhalted.core", "event=0x3c,period=2000003" },
{ "cpu_clk_unhalted.thread_any", "event=0x3c,any=1,period=2000003" },
+#endif
{ NULL, NULL},
};