perf tools: Enable overwrite settings
[cascardo/linux.git] / tools / perf / tests / backward-ring-buffer.c
index d9ba991..615780c 100644 (file)
@@ -31,8 +31,8 @@ static int count_samples(struct perf_evlist *evlist, int *sample_count,
        for (i = 0; i < evlist->nr_mmaps; i++) {
                union perf_event *event;
 
-               perf_evlist__mmap_read_catchup(evlist, i);
-               while ((event = perf_evlist__mmap_read_backward(evlist, i)) != NULL) {
+               perf_mmap__read_catchup(&evlist->backward_mmap[i]);
+               while ((event = perf_mmap__read_backward(&evlist->backward_mmap[i])) != NULL) {
                        const u32 type = event->header.type;
 
                        switch (type) {
@@ -60,7 +60,7 @@ static int do_test(struct perf_evlist *evlist, int mmap_pages,
        err = perf_evlist__mmap(evlist, mmap_pages, true);
        if (err < 0) {
                pr_debug("perf_evlist__mmap: %s\n",
-                        strerror_r(errno, sbuf, sizeof(sbuf)));
+                        str_error_r(errno, sbuf, sizeof(sbuf)));
                return TEST_FAIL;
        }
 
@@ -108,7 +108,11 @@ int test__backward_ring_buffer(int subtest __maybe_unused)
        }
 
        bzero(&parse_error, sizeof(parse_error));
-       err = parse_events(evlist, "syscalls:sys_enter_prctl", &parse_error);
+       /*
+        * Set backward bit, ring buffer should be writing from end. Record
+        * it in aux evlist
+        */
+       err = parse_events(evlist, "syscalls:sys_enter_prctl/overwrite/", &parse_error);
        if (err) {
                pr_debug("Failed to parse tracepoint event, try use root\n");
                ret = TEST_SKIP;
@@ -117,14 +121,10 @@ int test__backward_ring_buffer(int subtest __maybe_unused)
 
        perf_evlist__config(evlist, &opts, NULL);
 
-       /* Set backward bit, ring buffer should be writing from end */
-       evlist__for_each(evlist, evsel)
-               evsel->attr.write_backward = 1;
-
        err = perf_evlist__open(evlist);
        if (err < 0) {
                pr_debug("perf_evlist__open: %s\n",
-                        strerror_r(errno, sbuf, sizeof(sbuf)));
+                        str_error_r(errno, sbuf, sizeof(sbuf)));
                goto out_delete_evlist;
        }