Messages in this thread |  | | Subject | Re: [PATCH v12 3/3]: perf record: extend trace writing to multi AIO | From | Alexey Budankov <> | Date | Thu, 11 Oct 2018 19:24:16 +0300 |
| |
On 11.10.2018 16:46, Jiri Olsa wrote: > On Tue, Oct 09, 2018 at 11:59:31AM +0300, Alexey Budankov wrote: > > SNIP > >> @@ -709,12 +729,13 @@ static int record__mmap_read_evlist(struct record *rec, struct perf_evlist *evli >> goto out; >> } >> } else { >> + int idx; >> /* >> * Call record__aio_sync() to wait till map->data buffer >> * becomes available after previous aio write request. >> */ >> - record__aio_sync(map); >> - if (perf_mmap__aio_push(map, rec, record__aio_pushfn, &off) != 0) { >> + idx = record__aio_sync(map, false); > > looks like record__aio_sync can return -1, > how is it not breaking the perf_mmap__aio_push call below?
Currently -1 may be returned only when calling with sync_all==true i.e. record__aio_sync(, true).
Thanks, Alexey
> >> + if (perf_mmap__aio_push(map, rec, idx, record__aio_pushfn, &off) != 0) { >> record__aio_set_pos(trace_fd, off); >> rc = -1; >> goto out; > > SNIP >
|  |