Re: [PATCH v7 2/2]: perf record: enable asynchronous trace writing

From: Alexey Budankov
Date: Thu Sep 06 2018 - 08:09:41 EST




On 06.09.2018 14:04, Jiri Olsa wrote:
> On Wed, Sep 05, 2018 at 10:39:25AM +0300, Alexey Budankov wrote:
>
> SNIP
>
>> + } else if (errno != EAGAIN) {
>> + cblock->aio_fildes = -1;
>> + pr_err("failed to queue perf data, error: %m\n");
>> + break;
>> + }
>> + } while (1);
>> +
>> + return rc;
>> +}
>> +
>> +static int record__aio_sync(struct perf_mmap *md)
>> +{
>
> this is almost identical to record__aio_sync function,
> it looks like we should be able to do the sync with
> single function.. for both the in-between syncs and
> the final one

There is some code duplication here. for()'s loop body at
record__aio_complete() could probably be separated to
a function and then reused by record__aio_sync().
The rest is not obvious at the moment.

>
> jirka
>