On Tue, Oct 09, 2018 at 11:59:31AM +0300, Alexey Budankov wrote: SNIP
> @@ -1568,15 +1596,18 @@ static int parse_clockid(const struct option *opt, > const char *str, int unset) > > #ifdef HAVE_AIO_SUPPORT > static int record__aio_parse(const struct option *opt, > - const char *str __maybe_unused, > + const char *str, > int unset) > { > struct record_opts *opts = (struct record_opts *)opt->value; > > - if (unset) > + if (unset) { > opts->nr_cblocks = 0; > - else > - opts->nr_cblocks = 1; > + } else { > + opts->nr_cblocks = strtol(str, NULL, 0); > + if (!opts->nr_cblocks) > + opts->nr_cblocks = 1; > + } > > return 0; > } > @@ -1886,8 +1917,8 @@ static struct option __record_options[] = { > OPT_BOOLEAN(0, "dry-run", &dry_run, > "Parse options then exit"), > #ifdef HAVE_AIO_SUPPORT > - OPT_CALLBACK_NOOPT(0, "aio", &record.opts, > - NULL, "Enable asynchronous trace writing mode", hum, why removing --aio option? I though we will have: perf record --aio .... # enables aio with default settings perf record --aio-cblocks=3 ... # enabled aio with aio-cblocks=3 jirka > + OPT_CALLBACK(0, "aio-cblocks", &record.opts, > + "n", "Use <n> control blocks in asynchronous trace writing > mode (max: 4)", > record__aio_parse), SNIP