git: 0024f1aa7720 - main - libpmc: make libpmc_pmu_utils.c more amenable to porting

Mitchell Horne mhorne at FreeBSD.org
Mon May 31 20:39:26 UTC 2021


The branch main has been updated by mhorne:

URL: https://cgit.FreeBSD.org/src/commit/?id=0024f1aa7720d5f4f587a6c5911fc5238195ae49

commit 0024f1aa7720d5f4f587a6c5911fc5238195ae49
Author:     Mitchell Horne <mhorne at FreeBSD.org>
AuthorDate: 2021-05-31 14:24:44 +0000
Commit:     Mitchell Horne <mhorne at FreeBSD.org>
CommitDate: 2021-05-31 20:39:05 +0000

    libpmc: make libpmc_pmu_utils.c more amenable to porting
    
    The current version has every function stubbed out for !x86. Only two
    functions (pmu_alias_get() and pmc_pmu_pmcallocate() are really platform
    dependent, so reduce the width of the ifdefs and remove some of the
    stubs.
    
    Reviewed by:    ray
    MFC after:      2 weeks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D30532
---
 lib/libpmc/libpmc_pmu_util.c | 65 ++++++++------------------------------------
 1 file changed, 12 insertions(+), 53 deletions(-)

diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c
index 90ce0feafa52..81320a3dc954 100644
--- a/lib/libpmc/libpmc_pmu_util.c
+++ b/lib/libpmc/libpmc_pmu_util.c
@@ -43,12 +43,12 @@
 #include <libpmcstat.h>
 #include "pmu-events/pmu-events.h"
 
-#if defined(__amd64__) || defined(__i386__)
 struct pmu_alias {
 	const char *pa_alias;
 	const char *pa_name;
 };
 
+#if defined(__amd64__) || defined(__i386__)
 typedef enum {
 	PMU_INVALID,
 	PMU_INTEL,
@@ -139,6 +139,16 @@ pmu_alias_get(const char *name)
 	return (name);
 }
 
+#else
+
+static const char *
+pmu_alias_get(const char *name)
+{
+
+	return (name);
+}
+#endif
+
 struct pmu_event_desc {
 	uint64_t ped_period;
 	uint64_t ped_offcore_rsp;
@@ -417,6 +427,7 @@ pmc_pmu_print_counter_full(const char *ev)
 	}
 }
 
+#if defined(__amd64__) || defined(__i386__)
 static int
 pmc_pmu_amd_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm,
 	struct pmu_event_desc *ped)
@@ -540,61 +551,9 @@ pmc_pmu_pmcallocate(const char *event_name, struct pmc_op_pmcallocate *pm)
 
 #else
 
-uint64_t
-pmc_pmu_sample_rate_get(const char *event_name __unused)
-{
-	return (DEFAULT_SAMPLE_COUNT);
-}
-
-void
-pmc_pmu_print_counters(const char *event_name __unused)
-{
-}
-
-void
-pmc_pmu_print_counter_desc(const char *e __unused)
-{
-}
-
-void
-pmc_pmu_print_counter_desc_long(const char *e __unused)
-{
-}
-
-void
-pmc_pmu_print_counter_full(const char *e __unused)
-{
-
-}
-
-int
-pmc_pmu_enabled(void)
-{
-	return (0);
-}
-
 int
 pmc_pmu_pmcallocate(const char *e __unused, struct pmc_op_pmcallocate *p __unused)
 {
 	return (EOPNOTSUPP);
 }
-
-const char *
-pmc_pmu_event_get_by_idx(const char *c __unused, int idx __unused)
-{
-	return (NULL);
-}
-
-int
-pmc_pmu_stat_mode(const char ***a __unused)
-{
-	return (EOPNOTSUPP);
-}
-
-int
-pmc_pmu_idx_get_by_event(const char *c __unused, const char *e __unused)
-{
-	return (-1);
-}
-
 #endif


More information about the dev-commits-src-all mailing list