root/tools/perf/pmu-events/pmu-events.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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  */
  31 struct pmu_events_map {
  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

/* [<][>][^][v][top][bottom][index][help] */