diff options
Diffstat (limited to 'tools/perf/tests/mmap-basic.c')
| -rw-r--r-- | tools/perf/tests/mmap-basic.c | 28 | 
1 files changed, 13 insertions, 15 deletions
diff --git a/tools/perf/tests/mmap-basic.c b/tools/perf/tests/mmap-basic.c index c4185b9aeb8..142263492f6 100644 --- a/tools/perf/tests/mmap-basic.c +++ b/tools/perf/tests/mmap-basic.c @@ -65,10 +65,10 @@ int test__basic_mmap(void)  		char name[64];  		snprintf(name, sizeof(name), "sys_enter_%s", syscall_names[i]); -		evsels[i] = perf_evsel__newtp("syscalls", name, i); +		evsels[i] = perf_evsel__newtp("syscalls", name);  		if (evsels[i] == NULL) {  			pr_debug("perf_evsel__new\n"); -			goto out_free_evlist; +			goto out_delete_evlist;  		}  		evsels[i]->attr.wakeup_events = 1; @@ -80,7 +80,7 @@ int test__basic_mmap(void)  			pr_debug("failed to open counter: %s, "  				 "tweak /proc/sys/kernel/perf_event_paranoid?\n",  				 strerror(errno)); -			goto out_close_fd; +			goto out_delete_evlist;  		}  		nr_events[i] = 0; @@ -90,7 +90,7 @@ int test__basic_mmap(void)  	if (perf_evlist__mmap(evlist, 128, true) < 0) {  		pr_debug("failed to mmap events: %d (%s)\n", errno,  			 strerror(errno)); -		goto out_close_fd; +		goto out_delete_evlist;  	}  	for (i = 0; i < nsyscalls; ++i) @@ -105,13 +105,13 @@ int test__basic_mmap(void)  		if (event->header.type != PERF_RECORD_SAMPLE) {  			pr_debug("unexpected %s event\n",  				 perf_event__name(event->header.type)); -			goto out_munmap; +			goto out_delete_evlist;  		}  		err = perf_evlist__parse_sample(evlist, event, &sample);  		if (err) {  			pr_err("Can't parse sample, err = %d\n", err); -			goto out_munmap; +			goto out_delete_evlist;  		}  		err = -1; @@ -119,29 +119,27 @@ int test__basic_mmap(void)  		if (evsel == NULL) {  			pr_debug("event with id %" PRIu64  				 " doesn't map to an evsel\n", sample.id); -			goto out_munmap; +			goto out_delete_evlist;  		}  		nr_events[evsel->idx]++; +		perf_evlist__mmap_consume(evlist, 0);  	}  	err = 0; -	list_for_each_entry(evsel, &evlist->entries, node) { +	evlist__for_each(evlist, evsel) {  		if (nr_events[evsel->idx] != expected_nr_events[evsel->idx]) {  			pr_debug("expected %d %s events, got %d\n",  				 expected_nr_events[evsel->idx],  				 perf_evsel__name(evsel), nr_events[evsel->idx]);  			err = -1; -			goto out_munmap; +			goto out_delete_evlist;  		}  	} -out_munmap: -	perf_evlist__munmap(evlist); -out_close_fd: -	for (i = 0; i < nsyscalls; ++i) -		perf_evsel__close_fd(evsels[i], 1, threads->nr); -out_free_evlist: +out_delete_evlist:  	perf_evlist__delete(evlist); +	cpus	= NULL; +	threads = NULL;  out_free_cpus:  	cpu_map__delete(cpus);  out_free_threads:  | 
