Re: [PATCH v11 3/3]: perf record: extend trace writing to multi AIO

Jiri Olsa
2018-10-08T12:45:43Z

On Mon, Oct 08, 2018 at 02:47:13PM +0300, Alexey Budankov wrote:
> Hi,
>
> On 08.10.2018 13:55, Jiri Olsa wrote:
> > On Mon, Oct 08, 2018 at 09:19:17AM +0300, Alexey Budankov wrote:
> <SNIP>
> >> +#ifdef HAVE_AIO_SUPPORT
> >> + if (!strcmp(var, "record.aio-cblocks"))
> >> + rec->opts.nr_cblocks = strtol(value, NULL, 0);
> >> +#endif
> >>
> >> return 0;
> >> }
> >> @@ -1837,6 +1864,10 @@ static struct option __record_options[] = {
> >> "signal"),
> >> OPT_BOOLEAN(0, "dry-run", &dry_run,
> >> "Parse options then exit"),
> >> +#ifdef HAVE_AIO_SUPPORT
> >> + OPT_INTEGER(0, "aio-cblocks", &record.opts.nr_cblocks,
> >> + "Max number of simultaneous per-mmap trace writes (default: 0 - serial, max: 4)"),
> >> +#endif
> >
> > could you please move the option to enable that to the previou patch?
> > so we could test the simple variant as well
>
> Ok.
>
> >
> > also I think it'd be better if we have simple '--aio' option that would
> > enable this with some default values.. and add --aio-cblocks to configure
> > that further
>
> Well, absence of --aio option, on the command line or in .perfconfig, or --aio=0
> means serial writing.
>
> From this perspective perf record --aio --aio-cblocks=N looks like a complication.

'perf record --aio-cblocks=N' could imply '--aio',

I'd like to have simple/intuitive way to enable that,
without studing the meaning of the cblocks argument

# perf record --aio ...

means that I'm storing data via async writes,
and using some reasonable default for cblocks

and later on we'd add 'perf record --threads'
allowing threads based writers ;-)

jirka