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
> 

Reply via email to