diff options
Diffstat (limited to 'tools/perf/tests/mmap-basic.c')
| -rw-r--r-- | tools/perf/tests/mmap-basic.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/tools/perf/tests/mmap-basic.c b/tools/perf/tests/mmap-basic.c index d64ab79c6d35..142263492f6f 100644 --- a/tools/perf/tests/mmap-basic.c +++ b/tools/perf/tests/mmap-basic.c | |||
| @@ -68,7 +68,7 @@ int test__basic_mmap(void) | |||
| 68 | evsels[i] = perf_evsel__newtp("syscalls", name); | 68 | evsels[i] = perf_evsel__newtp("syscalls", name); |
| 69 | if (evsels[i] == NULL) { | 69 | if (evsels[i] == NULL) { |
| 70 | pr_debug("perf_evsel__new\n"); | 70 | pr_debug("perf_evsel__new\n"); |
| 71 | goto out_free_evlist; | 71 | goto out_delete_evlist; |
| 72 | } | 72 | } |
| 73 | 73 | ||
| 74 | evsels[i]->attr.wakeup_events = 1; | 74 | evsels[i]->attr.wakeup_events = 1; |
| @@ -80,7 +80,7 @@ int test__basic_mmap(void) | |||
| 80 | pr_debug("failed to open counter: %s, " | 80 | pr_debug("failed to open counter: %s, " |
| 81 | "tweak /proc/sys/kernel/perf_event_paranoid?\n", | 81 | "tweak /proc/sys/kernel/perf_event_paranoid?\n", |
| 82 | strerror(errno)); | 82 | strerror(errno)); |
| 83 | goto out_close_fd; | 83 | goto out_delete_evlist; |
| 84 | } | 84 | } |
| 85 | 85 | ||
| 86 | nr_events[i] = 0; | 86 | nr_events[i] = 0; |
| @@ -90,7 +90,7 @@ int test__basic_mmap(void) | |||
| 90 | if (perf_evlist__mmap(evlist, 128, true) < 0) { | 90 | if (perf_evlist__mmap(evlist, 128, true) < 0) { |
| 91 | pr_debug("failed to mmap events: %d (%s)\n", errno, | 91 | pr_debug("failed to mmap events: %d (%s)\n", errno, |
| 92 | strerror(errno)); | 92 | strerror(errno)); |
| 93 | goto out_close_fd; | 93 | goto out_delete_evlist; |
| 94 | } | 94 | } |
| 95 | 95 | ||
| 96 | for (i = 0; i < nsyscalls; ++i) | 96 | for (i = 0; i < nsyscalls; ++i) |
| @@ -105,13 +105,13 @@ int test__basic_mmap(void) | |||
| 105 | if (event->header.type != PERF_RECORD_SAMPLE) { | 105 | if (event->header.type != PERF_RECORD_SAMPLE) { |
| 106 | pr_debug("unexpected %s event\n", | 106 | pr_debug("unexpected %s event\n", |
| 107 | perf_event__name(event->header.type)); | 107 | perf_event__name(event->header.type)); |
| 108 | goto out_munmap; | 108 | goto out_delete_evlist; |
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | err = perf_evlist__parse_sample(evlist, event, &sample); | 111 | err = perf_evlist__parse_sample(evlist, event, &sample); |
| 112 | if (err) { | 112 | if (err) { |
| 113 | pr_err("Can't parse sample, err = %d\n", err); | 113 | pr_err("Can't parse sample, err = %d\n", err); |
| 114 | goto out_munmap; | 114 | goto out_delete_evlist; |
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | err = -1; | 117 | err = -1; |
| @@ -119,30 +119,27 @@ int test__basic_mmap(void) | |||
| 119 | if (evsel == NULL) { | 119 | if (evsel == NULL) { |
| 120 | pr_debug("event with id %" PRIu64 | 120 | pr_debug("event with id %" PRIu64 |
| 121 | " doesn't map to an evsel\n", sample.id); | 121 | " doesn't map to an evsel\n", sample.id); |
| 122 | goto out_munmap; | 122 | goto out_delete_evlist; |
| 123 | } | 123 | } |
| 124 | nr_events[evsel->idx]++; | 124 | nr_events[evsel->idx]++; |
| 125 | perf_evlist__mmap_consume(evlist, 0); | 125 | perf_evlist__mmap_consume(evlist, 0); |
| 126 | } | 126 | } |
| 127 | 127 | ||
| 128 | err = 0; | 128 | err = 0; |
| 129 | list_for_each_entry(evsel, &evlist->entries, node) { | 129 | evlist__for_each(evlist, evsel) { |
| 130 | if (nr_events[evsel->idx] != expected_nr_events[evsel->idx]) { | 130 | if (nr_events[evsel->idx] != expected_nr_events[evsel->idx]) { |
| 131 | pr_debug("expected %d %s events, got %d\n", | 131 | pr_debug("expected %d %s events, got %d\n", |
| 132 | expected_nr_events[evsel->idx], | 132 | expected_nr_events[evsel->idx], |
| 133 | perf_evsel__name(evsel), nr_events[evsel->idx]); | 133 | perf_evsel__name(evsel), nr_events[evsel->idx]); |
| 134 | err = -1; | 134 | err = -1; |
| 135 | goto out_munmap; | 135 | goto out_delete_evlist; |
| 136 | } | 136 | } |
| 137 | } | 137 | } |
| 138 | 138 | ||
| 139 | out_munmap: | 139 | out_delete_evlist: |
| 140 | perf_evlist__munmap(evlist); | ||
| 141 | out_close_fd: | ||
| 142 | for (i = 0; i < nsyscalls; ++i) | ||
| 143 | perf_evsel__close_fd(evsels[i], 1, threads->nr); | ||
| 144 | out_free_evlist: | ||
| 145 | perf_evlist__delete(evlist); | 140 | perf_evlist__delete(evlist); |
| 141 | cpus = NULL; | ||
| 142 | threads = NULL; | ||
| 146 | out_free_cpus: | 143 | out_free_cpus: |
| 147 | cpu_map__delete(cpus); | 144 | cpu_map__delete(cpus); |
| 148 | out_free_threads: | 145 | out_free_threads: |
