]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - tools/perf/tests/perf-record.c
perf evlist: Close fds on destructor
[karo-tx-linux.git] / tools / perf / tests / perf-record.c
index 93a62b06c3afac27f7398f1572430cf29868b9d5..682978e66efeb905ba9f8a62dea8f5b8315d00e8 100644 (file)
@@ -34,7 +34,7 @@ realloc:
 
 int test__PERF_RECORD(void)
 {
-       struct perf_record_opts opts = {
+       struct record_opts opts = {
                .target = {
                        .uid = UINT_MAX,
                        .uses_mmap = true,
@@ -83,11 +83,10 @@ int test__PERF_RECORD(void)
         * so that we have time to open the evlist (calling sys_perf_event_open
         * on all the fds) and then mmap them.
         */
-       err = perf_evlist__prepare_workload(evlist, &opts.target, argv,
-                                           false, false);
+       err = perf_evlist__prepare_workload(evlist, &opts.target, argv, false, NULL);
        if (err < 0) {
                pr_debug("Couldn't run the workload!\n");
-               goto out_delete_maps;
+               goto out_delete_evlist;
        }
 
        /*
@@ -102,7 +101,7 @@ int test__PERF_RECORD(void)
        err = sched__get_first_possible_cpu(evlist->workload.pid, &cpu_mask);
        if (err < 0) {
                pr_debug("sched__get_first_possible_cpu: %s\n", strerror(errno));
-               goto out_delete_maps;
+               goto out_delete_evlist;
        }
 
        cpu = err;
@@ -112,7 +111,7 @@ int test__PERF_RECORD(void)
         */
        if (sched_setaffinity(evlist->workload.pid, cpu_mask_size, &cpu_mask) < 0) {
                pr_debug("sched_setaffinity: %s\n", strerror(errno));
-               goto out_delete_maps;
+               goto out_delete_evlist;
        }
 
        /*
@@ -122,7 +121,7 @@ int test__PERF_RECORD(void)
        err = perf_evlist__open(evlist);
        if (err < 0) {
                pr_debug("perf_evlist__open: %s\n", strerror(errno));
-               goto out_delete_maps;
+               goto out_delete_evlist;
        }
 
        /*
@@ -133,7 +132,7 @@ int test__PERF_RECORD(void)
        err = perf_evlist__mmap(evlist, opts.mmap_pages, false);
        if (err < 0) {
                pr_debug("perf_evlist__mmap: %s\n", strerror(errno));
-               goto out_close_evlist;
+               goto out_delete_evlist;
        }
 
        /*
@@ -305,10 +304,6 @@ found_exit:
        }
 out_err:
        perf_evlist__munmap(evlist);
-out_close_evlist:
-       perf_evlist__close(evlist);
-out_delete_maps:
-       perf_evlist__delete_maps(evlist);
 out_delete_evlist:
        perf_evlist__delete(evlist);
 out: