diff options
Diffstat (limited to 'tools/perf/builtin-top.c')
-rw-r--r-- | tools/perf/builtin-top.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 6ce4042421bd..05344c6210ac 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c | |||
@@ -1247,8 +1247,6 @@ try_again: | |||
1247 | die("Permission error - are you root?\n" | 1247 | die("Permission error - are you root?\n" |
1248 | "\t Consider tweaking" | 1248 | "\t Consider tweaking" |
1249 | " /proc/sys/kernel/perf_event_paranoid.\n"); | 1249 | " /proc/sys/kernel/perf_event_paranoid.\n"); |
1250 | if (err == ENOENT) | ||
1251 | die("%s event is not supported. ", event_name(evsel)); | ||
1252 | /* | 1250 | /* |
1253 | * If it's cycles then fall back to hrtimer | 1251 | * If it's cycles then fall back to hrtimer |
1254 | * based cpu-clock-tick sw counter, which | 1252 | * based cpu-clock-tick sw counter, which |
@@ -1473,6 +1471,8 @@ int cmd_top(int argc, const char **argv, const char *prefix __used) | |||
1473 | pos->attr.sample_period = default_interval; | 1471 | pos->attr.sample_period = default_interval; |
1474 | } | 1472 | } |
1475 | 1473 | ||
1474 | sym_evsel = list_entry(evsel_list.next, struct perf_evsel, node); | ||
1475 | |||
1476 | symbol_conf.priv_size = (sizeof(struct sym_entry) + | 1476 | symbol_conf.priv_size = (sizeof(struct sym_entry) + |
1477 | (nr_counters + 1) * sizeof(unsigned long)); | 1477 | (nr_counters + 1) * sizeof(unsigned long)); |
1478 | 1478 | ||
@@ -1490,6 +1490,7 @@ int cmd_top(int argc, const char **argv, const char *prefix __used) | |||
1490 | out_free_fd: | 1490 | out_free_fd: |
1491 | list_for_each_entry(pos, &evsel_list, node) | 1491 | list_for_each_entry(pos, &evsel_list, node) |
1492 | perf_evsel__free_mmap(pos); | 1492 | perf_evsel__free_mmap(pos); |
1493 | perf_evsel_list__delete(); | ||
1493 | 1494 | ||
1494 | return status; | 1495 | return status; |
1495 | } | 1496 | } |