Linux Perf
pmu-events.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef PMU_EVENTS_H
3 #define PMU_EVENTS_H
4 
5 /*
6  * Describe each PMU event. Each CPU has a table of PMU events.
7  */
8 struct pmu_event {
9  const char *name;
10  const char *event;
11  const char *desc;
12  const char *topic;
13  const char *long_desc;
14  const char *pmu;
15  const char *unit;
16  const char *perpkg;
17  const char *metric_expr;
18  const char *metric_name;
19  const char *metric_group;
20 };
21 
22 /*
23  *
24  * Map a CPU to its table of PMU events. The CPU is identified by the
25  * cpuid field, which is an arch-specific identifier for the CPU.
26  * The identifier specified in tools/perf/pmu-events/arch/xxx/mapfile
27  * must match the get_cpustr() in tools/perf/arch/xxx/util/header.c)
28  *
29  * The cpuid can contain any character other than the comma.
30  */
32  const char *cpuid;
33  const char *version;
34  const char *type; /* core, uncore etc */
35  struct pmu_event *table;
36 };
37 
38 /*
39  * Global table mapping each known CPU for the architecture to its
40  * table of PMU events.
41  */
42 extern struct pmu_events_map pmu_events_map[];
43 
44 #endif
struct pmu_event * table
Definition: pmu-events.h:35
const char * name
Definition: pmu-events.h:9
const char * metric_name
Definition: pmu-events.h:18
const char * event
Definition: pmu-events.h:10
const char * desc
Definition: pmu-events.h:11
const char * topic
Definition: pmu-events.h:12
const char * perpkg
Definition: pmu-events.h:16
const char * pmu
Definition: pmu-events.h:14
const char * version
Definition: pmu-events.h:33
const char * metric_expr
Definition: pmu-events.h:17
const char * type
Definition: pmu-events.h:34
const char * cpuid
Definition: pmu-events.h:32
const char * unit
Definition: pmu-events.h:15
const char * long_desc
Definition: pmu-events.h:13
const char * metric_group
Definition: pmu-events.h:19