parse-events.c (8953645fec933f992223286ad407dc371ac2caa5) | parse-events.c (f4dbfa8f3131a84257223393905f7efad0ca5996) |
---|---|
1 2#include "../perf.h" 3#include "util.h" 4#include "parse-options.h" 5#include "parse-events.h" 6#include "exec_cmd.h" 7#include "string.h" 8 --- 8 unchanged lines hidden (view full) --- 17 __u64 config; 18 char *symbol; 19}; 20 21#define C(x, y) .type = PERF_TYPE_##x, .config = PERF_COUNT_##y 22#define CR(x, y) .type = PERF_TYPE_##x, .config = y 23 24static struct event_symbol event_symbols[] = { | 1 2#include "../perf.h" 3#include "util.h" 4#include "parse-options.h" 5#include "parse-events.h" 6#include "exec_cmd.h" 7#include "string.h" 8 --- 8 unchanged lines hidden (view full) --- 17 __u64 config; 18 char *symbol; 19}; 20 21#define C(x, y) .type = PERF_TYPE_##x, .config = PERF_COUNT_##y 22#define CR(x, y) .type = PERF_TYPE_##x, .config = y 23 24static struct event_symbol event_symbols[] = { |
25 { C(HARDWARE, CPU_CYCLES), "cpu-cycles", }, 26 { C(HARDWARE, CPU_CYCLES), "cycles", }, 27 { C(HARDWARE, INSTRUCTIONS), "instructions", }, 28 { C(HARDWARE, CACHE_REFERENCES), "cache-references", }, 29 { C(HARDWARE, CACHE_MISSES), "cache-misses", }, 30 { C(HARDWARE, BRANCH_INSTRUCTIONS), "branch-instructions", }, 31 { C(HARDWARE, BRANCH_INSTRUCTIONS), "branches", }, 32 { C(HARDWARE, BRANCH_MISSES), "branch-misses", }, 33 { C(HARDWARE, BUS_CYCLES), "bus-cycles", }, | 25 { C(HARDWARE, HW_CPU_CYCLES), "cpu-cycles", }, 26 { C(HARDWARE, HW_CPU_CYCLES), "cycles", }, 27 { C(HARDWARE, HW_INSTRUCTIONS), "instructions", }, 28 { C(HARDWARE, HW_CACHE_REFERENCES), "cache-references", }, 29 { C(HARDWARE, HW_CACHE_MISSES), "cache-misses", }, 30 { C(HARDWARE, HW_BRANCH_INSTRUCTIONS),"branch-instructions", }, 31 { C(HARDWARE, HW_BRANCH_INSTRUCTIONS),"branches", }, 32 { C(HARDWARE, HW_BRANCH_MISSES), "branch-misses", }, 33 { C(HARDWARE, HW_BUS_CYCLES), "bus-cycles", }, |
34 | 34 |
35 { C(SOFTWARE, CPU_CLOCK), "cpu-clock", }, 36 { C(SOFTWARE, TASK_CLOCK), "task-clock", }, 37 { C(SOFTWARE, PAGE_FAULTS), "page-faults", }, 38 { C(SOFTWARE, PAGE_FAULTS), "faults", }, 39 { C(SOFTWARE, PAGE_FAULTS_MIN), "minor-faults", }, 40 { C(SOFTWARE, PAGE_FAULTS_MAJ), "major-faults", }, 41 { C(SOFTWARE, CONTEXT_SWITCHES), "context-switches", }, 42 { C(SOFTWARE, CONTEXT_SWITCHES), "cs", }, 43 { C(SOFTWARE, CPU_MIGRATIONS), "cpu-migrations", }, 44 { C(SOFTWARE, CPU_MIGRATIONS), "migrations", }, | 35 { C(SOFTWARE, SW_CPU_CLOCK), "cpu-clock", }, 36 { C(SOFTWARE, SW_TASK_CLOCK), "task-clock", }, 37 { C(SOFTWARE, SW_PAGE_FAULTS), "page-faults", }, 38 { C(SOFTWARE, SW_PAGE_FAULTS), "faults", }, 39 { C(SOFTWARE, SW_PAGE_FAULTS_MIN), "minor-faults", }, 40 { C(SOFTWARE, SW_PAGE_FAULTS_MAJ), "major-faults", }, 41 { C(SOFTWARE, SW_CONTEXT_SWITCHES), "context-switches", }, 42 { C(SOFTWARE, SW_CONTEXT_SWITCHES), "cs", }, 43 { C(SOFTWARE, SW_CPU_MIGRATIONS), "cpu-migrations", }, 44 { C(SOFTWARE, SW_CPU_MIGRATIONS), "migrations", }, |
45}; 46 47#define __PERF_COUNTER_FIELD(config, name) \ 48 ((config & PERF_COUNTER_##name##_MASK) >> PERF_COUNTER_##name##_SHIFT) 49 50#define PERF_COUNTER_RAW(config) __PERF_COUNTER_FIELD(config, RAW) 51#define PERF_COUNTER_CONFIG(config) __PERF_COUNTER_FIELD(config, CONFIG) 52#define PERF_COUNTER_TYPE(config) __PERF_COUNTER_FIELD(config, TYPE) --- 49 unchanged lines hidden (view full) --- 102 103 if (attrs[counter].type == PERF_TYPE_RAW) { 104 sprintf(buf, "raw 0x%llx", config); 105 return buf; 106 } 107 108 switch (type) { 109 case PERF_TYPE_HARDWARE: | 45}; 46 47#define __PERF_COUNTER_FIELD(config, name) \ 48 ((config & PERF_COUNTER_##name##_MASK) >> PERF_COUNTER_##name##_SHIFT) 49 50#define PERF_COUNTER_RAW(config) __PERF_COUNTER_FIELD(config, RAW) 51#define PERF_COUNTER_CONFIG(config) __PERF_COUNTER_FIELD(config, CONFIG) 52#define PERF_COUNTER_TYPE(config) __PERF_COUNTER_FIELD(config, TYPE) --- 49 unchanged lines hidden (view full) --- 102 103 if (attrs[counter].type == PERF_TYPE_RAW) { 104 sprintf(buf, "raw 0x%llx", config); 105 return buf; 106 } 107 108 switch (type) { 109 case PERF_TYPE_HARDWARE: |
110 if (config < PERF_HW_EVENTS_MAX) | 110 if (config < PERF_COUNT_HW_MAX) |
111 return hw_event_names[config]; 112 return "unknown-hardware"; 113 114 case PERF_TYPE_HW_CACHE: { 115 __u8 cache_type, cache_op, cache_result; 116 static char name[100]; 117 118 cache_type = (config >> 0) & 0xff; --- 12 unchanged lines hidden (view full) --- 131 hw_cache[cache_type][0], 132 hw_cache_op[cache_op][0], 133 hw_cache_result[cache_result][0]); 134 135 return name; 136 } 137 138 case PERF_TYPE_SOFTWARE: | 111 return hw_event_names[config]; 112 return "unknown-hardware"; 113 114 case PERF_TYPE_HW_CACHE: { 115 __u8 cache_type, cache_op, cache_result; 116 static char name[100]; 117 118 cache_type = (config >> 0) & 0xff; --- 12 unchanged lines hidden (view full) --- 131 hw_cache[cache_type][0], 132 hw_cache_op[cache_op][0], 133 hw_cache_result[cache_result][0]); 134 135 return name; 136 } 137 138 case PERF_TYPE_SOFTWARE: |
139 if (config < PERF_SW_EVENTS_MAX) | 139 if (config < PERF_COUNT_SW_MAX) |
140 return sw_event_names[config]; 141 return "unknown-software"; 142 143 default: 144 break; 145 } 146 147 return "unknown"; --- 169 unchanged lines hidden --- | 140 return sw_event_names[config]; 141 return "unknown-software"; 142 143 default: 144 break; 145 } 146 147 return "unknown"; --- 169 unchanged lines hidden --- |