diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/perf/builtin-stat.c | 9 | ||||
| -rw-r--r-- | tools/perf/util/evsel.h | 1 |
2 files changed, 8 insertions, 2 deletions
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index a9f06715e44d..784ed6d6e0d6 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c | |||
| @@ -61,6 +61,8 @@ | |||
| 61 | #include <locale.h> | 61 | #include <locale.h> |
| 62 | 62 | ||
| 63 | #define DEFAULT_SEPARATOR " " | 63 | #define DEFAULT_SEPARATOR " " |
| 64 | #define CNTR_NOT_SUPPORTED "<not supported>" | ||
| 65 | #define CNTR_NOT_COUNTED "<not counted>" | ||
| 64 | 66 | ||
| 65 | static struct perf_event_attr default_attrs[] = { | 67 | static struct perf_event_attr default_attrs[] = { |
| 66 | 68 | ||
| @@ -448,6 +450,7 @@ static int run_perf_stat(int argc __used, const char **argv) | |||
| 448 | if (verbose) | 450 | if (verbose) |
| 449 | ui__warning("%s event is not supported by the kernel.\n", | 451 | ui__warning("%s event is not supported by the kernel.\n", |
| 450 | event_name(counter)); | 452 | event_name(counter)); |
| 453 | counter->supported = false; | ||
| 451 | continue; | 454 | continue; |
| 452 | } | 455 | } |
| 453 | 456 | ||
| @@ -466,6 +469,7 @@ static int run_perf_stat(int argc __used, const char **argv) | |||
| 466 | die("Not all events could be opened.\n"); | 469 | die("Not all events could be opened.\n"); |
| 467 | return -1; | 470 | return -1; |
| 468 | } | 471 | } |
| 472 | counter->supported = true; | ||
| 469 | } | 473 | } |
| 470 | 474 | ||
| 471 | if (perf_evlist__set_filters(evsel_list)) { | 475 | if (perf_evlist__set_filters(evsel_list)) { |
| @@ -861,7 +865,7 @@ static void print_counter_aggr(struct perf_evsel *counter) | |||
| 861 | if (scaled == -1) { | 865 | if (scaled == -1) { |
| 862 | fprintf(stderr, "%*s%s%*s", | 866 | fprintf(stderr, "%*s%s%*s", |
| 863 | csv_output ? 0 : 18, | 867 | csv_output ? 0 : 18, |
| 864 | "<not counted>", | 868 | counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED, |
| 865 | csv_sep, | 869 | csv_sep, |
| 866 | csv_output ? 0 : -24, | 870 | csv_output ? 0 : -24, |
| 867 | event_name(counter)); | 871 | event_name(counter)); |
| @@ -914,7 +918,8 @@ static void print_counter(struct perf_evsel *counter) | |||
| 914 | csv_output ? 0 : -4, | 918 | csv_output ? 0 : -4, |
| 915 | evsel_list->cpus->map[cpu], csv_sep, | 919 | evsel_list->cpus->map[cpu], csv_sep, |
| 916 | csv_output ? 0 : 18, | 920 | csv_output ? 0 : 18, |
| 917 | "<not counted>", csv_sep, | 921 | counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED, |
| 922 | csv_sep, | ||
| 918 | csv_output ? 0 : -24, | 923 | csv_output ? 0 : -24, |
| 919 | event_name(counter)); | 924 | event_name(counter)); |
| 920 | 925 | ||
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h index 7e9366e4490b..e9a31554e265 100644 --- a/tools/perf/util/evsel.h +++ b/tools/perf/util/evsel.h | |||
| @@ -61,6 +61,7 @@ struct perf_evsel { | |||
| 61 | off_t id_offset; | 61 | off_t id_offset; |
| 62 | }; | 62 | }; |
| 63 | struct cgroup_sel *cgrp; | 63 | struct cgroup_sel *cgrp; |
| 64 | bool supported; | ||
| 64 | }; | 65 | }; |
| 65 | 66 | ||
| 66 | struct cpu_map; | 67 | struct cpu_map; |
