Loading tools/perf/util/pmu.h +34 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,19 @@ struct perf_pmu_caps { struct list_head list; }; enum pmu_kind { /* A perf event syscall PMU. */ PERF_PMU_KIND_PE, /* A perf tool provided DRM PMU. */ PERF_PMU_KIND_DRM, /* A perf tool provided HWMON PMU. */ PERF_PMU_KIND_HWMON, /* Perf tool provided PMU for tool events like time. */ PERF_PMU_KIND_TOOL, /* A testing PMU kind. */ PERF_PMU_KIND_FAKE }; enum { PERF_PMU_TYPE_PE_START = 0, PERF_PMU_TYPE_PE_END = 0xFFFDFFFF, Loading Loading @@ -306,4 +319,25 @@ void perf_pmu__delete(struct perf_pmu *pmu); const char *perf_pmu__name_from_config(struct perf_pmu *pmu, u64 config); bool perf_pmu__is_fake(const struct perf_pmu *pmu); static inline enum pmu_kind perf_pmu__kind(const struct perf_pmu *pmu) { __u32 type; if (!pmu) return PERF_PMU_KIND_PE; type = pmu->type; if (type <= PERF_PMU_TYPE_PE_END) return PERF_PMU_KIND_PE; if (type <= PERF_PMU_TYPE_DRM_END) return PERF_PMU_KIND_DRM; if (type <= PERF_PMU_TYPE_DRM_END) return PERF_PMU_KIND_DRM; if (type <= PERF_PMU_TYPE_HWMON_END) return PERF_PMU_KIND_HWMON; if (type == PERF_PMU_TYPE_TOOL) return PERF_PMU_KIND_TOOL; return PERF_PMU_KIND_FAKE; } #endif /* __PMU_H */ Loading
tools/perf/util/pmu.h +34 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,19 @@ struct perf_pmu_caps { struct list_head list; }; enum pmu_kind { /* A perf event syscall PMU. */ PERF_PMU_KIND_PE, /* A perf tool provided DRM PMU. */ PERF_PMU_KIND_DRM, /* A perf tool provided HWMON PMU. */ PERF_PMU_KIND_HWMON, /* Perf tool provided PMU for tool events like time. */ PERF_PMU_KIND_TOOL, /* A testing PMU kind. */ PERF_PMU_KIND_FAKE }; enum { PERF_PMU_TYPE_PE_START = 0, PERF_PMU_TYPE_PE_END = 0xFFFDFFFF, Loading Loading @@ -306,4 +319,25 @@ void perf_pmu__delete(struct perf_pmu *pmu); const char *perf_pmu__name_from_config(struct perf_pmu *pmu, u64 config); bool perf_pmu__is_fake(const struct perf_pmu *pmu); static inline enum pmu_kind perf_pmu__kind(const struct perf_pmu *pmu) { __u32 type; if (!pmu) return PERF_PMU_KIND_PE; type = pmu->type; if (type <= PERF_PMU_TYPE_PE_END) return PERF_PMU_KIND_PE; if (type <= PERF_PMU_TYPE_DRM_END) return PERF_PMU_KIND_DRM; if (type <= PERF_PMU_TYPE_DRM_END) return PERF_PMU_KIND_DRM; if (type <= PERF_PMU_TYPE_HWMON_END) return PERF_PMU_KIND_HWMON; if (type == PERF_PMU_TYPE_TOOL) return PERF_PMU_KIND_TOOL; return PERF_PMU_KIND_FAKE; } #endif /* __PMU_H */