Re: [PATCH] perf lock: subcommands should include common options
On Fri, Mar 17, 2017 at 11:08:34AM -0300, Arnaldo Carvalho de Melo wrote: > Em Fri, Mar 17, 2017 at 01:53:42PM +0800, changbin...@intel.com escreveu: > > From: Changbin Du> > > > When I use -i option for report subcommand, it doesn't accept it. > > We need add common options using OPT_PARENT macro. > > > > perf lock report -i lock_perf.data > > Error: unknown switch `i' > > > > Usage: perf lock report [] > > > > -f, --force don't complain, do it > > -k, --key key for sorting ... > > > > Signed-off-by: Changbin Du > > --- > > tools/perf/builtin-lock.c | 19 +++ > > 1 file changed, 11 insertions(+), 8 deletions(-) > > > > diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c > > index ce3bfb4..710c551 100644 > > --- a/tools/perf/builtin-lock.c > > +++ b/tools/perf/builtin-lock.c > > @@ -947,27 +947,30 @@ static int __cmd_record(int argc, const char **argv) > > > > int cmd_lock(int argc, const char **argv, const char *prefix > > __maybe_unused) > > { > > + const struct option lock_options[] = { > > + OPT_STRING('i', "input", _name, "file", "input file name"), > > + OPT_INCR('v', "verbose", , "be more verbose (show symbol > > address, etc)"), > > + OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in > > ASCII"), > > + OPT_END() > > + }; > > + > > const struct option info_options[] = { > > OPT_BOOLEAN('t', "threads", _threads, > > "dump thread list in perf.data"), > > OPT_BOOLEAN('m', "map", _map, > > "map of lock instances (address:name table)"), > > OPT_BOOLEAN('f', "force", , "don't complain, do it"), > > Good catch, OPT_PARENT came after 'perf lock', but you forgot 'f', I'm > adding it and renaming 'lock_options' to 'lock_input_options', ok? > I am okay, just go ahead. thanks. -- Thanks, Changbin Du signature.asc Description: PGP signature
Re: [PATCH] perf lock: subcommands should include common options
On Fri, Mar 17, 2017 at 11:08:34AM -0300, Arnaldo Carvalho de Melo wrote: > Em Fri, Mar 17, 2017 at 01:53:42PM +0800, changbin...@intel.com escreveu: > > From: Changbin Du > > > > When I use -i option for report subcommand, it doesn't accept it. > > We need add common options using OPT_PARENT macro. > > > > perf lock report -i lock_perf.data > > Error: unknown switch `i' > > > > Usage: perf lock report [] > > > > -f, --force don't complain, do it > > -k, --key key for sorting ... > > > > Signed-off-by: Changbin Du > > --- > > tools/perf/builtin-lock.c | 19 +++ > > 1 file changed, 11 insertions(+), 8 deletions(-) > > > > diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c > > index ce3bfb4..710c551 100644 > > --- a/tools/perf/builtin-lock.c > > +++ b/tools/perf/builtin-lock.c > > @@ -947,27 +947,30 @@ static int __cmd_record(int argc, const char **argv) > > > > int cmd_lock(int argc, const char **argv, const char *prefix > > __maybe_unused) > > { > > + const struct option lock_options[] = { > > + OPT_STRING('i', "input", _name, "file", "input file name"), > > + OPT_INCR('v', "verbose", , "be more verbose (show symbol > > address, etc)"), > > + OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in > > ASCII"), > > + OPT_END() > > + }; > > + > > const struct option info_options[] = { > > OPT_BOOLEAN('t', "threads", _threads, > > "dump thread list in perf.data"), > > OPT_BOOLEAN('m', "map", _map, > > "map of lock instances (address:name table)"), > > OPT_BOOLEAN('f', "force", , "don't complain, do it"), > > Good catch, OPT_PARENT came after 'perf lock', but you forgot 'f', I'm > adding it and renaming 'lock_options' to 'lock_input_options', ok? > I am okay, just go ahead. thanks. -- Thanks, Changbin Du signature.asc Description: PGP signature
Re: [PATCH] perf lock: subcommands should include common options
Em Fri, Mar 17, 2017 at 01:53:42PM +0800, changbin...@intel.com escreveu: > From: Changbin Du> > When I use -i option for report subcommand, it doesn't accept it. > We need add common options using OPT_PARENT macro. > > perf lock report -i lock_perf.data > Error: unknown switch `i' > > Usage: perf lock report [] > > -f, --force don't complain, do it > -k, --key key for sorting ... > > Signed-off-by: Changbin Du > --- > tools/perf/builtin-lock.c | 19 +++ > 1 file changed, 11 insertions(+), 8 deletions(-) > > diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c > index ce3bfb4..710c551 100644 > --- a/tools/perf/builtin-lock.c > +++ b/tools/perf/builtin-lock.c > @@ -947,27 +947,30 @@ static int __cmd_record(int argc, const char **argv) > > int cmd_lock(int argc, const char **argv, const char *prefix __maybe_unused) > { > + const struct option lock_options[] = { > + OPT_STRING('i', "input", _name, "file", "input file name"), > + OPT_INCR('v', "verbose", , "be more verbose (show symbol > address, etc)"), > + OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in > ASCII"), > + OPT_END() > + }; > + > const struct option info_options[] = { > OPT_BOOLEAN('t', "threads", _threads, > "dump thread list in perf.data"), > OPT_BOOLEAN('m', "map", _map, > "map of lock instances (address:name table)"), > OPT_BOOLEAN('f', "force", , "don't complain, do it"), Good catch, OPT_PARENT came after 'perf lock', but you forgot 'f', I'm adding it and renaming 'lock_options' to 'lock_input_options', ok? > - OPT_END() > - }; > - const struct option lock_options[] = { > - OPT_STRING('i', "input", _name, "file", "input file name"), > - OPT_INCR('v', "verbose", , "be more verbose (show symbol > address, etc)"), > - OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in > ASCII"), > - OPT_END() > + OPT_PARENT(lock_options) > }; > + > const struct option report_options[] = { > OPT_STRING('k', "key", _key, "acquired", > "key for sorting (acquired / contended / avg_wait / > wait_total / wait_max / wait_min)"), > OPT_BOOLEAN('f', "force", , "don't complain, do it"), > /* TODO: type */ > - OPT_END() > + OPT_PARENT(lock_options) > }; > + > const char * const info_usage[] = { > "perf lock info []", > NULL > -- > 2.7.4
Re: [PATCH] perf lock: subcommands should include common options
Em Fri, Mar 17, 2017 at 01:53:42PM +0800, changbin...@intel.com escreveu: > From: Changbin Du > > When I use -i option for report subcommand, it doesn't accept it. > We need add common options using OPT_PARENT macro. > > perf lock report -i lock_perf.data > Error: unknown switch `i' > > Usage: perf lock report [] > > -f, --force don't complain, do it > -k, --key key for sorting ... > > Signed-off-by: Changbin Du > --- > tools/perf/builtin-lock.c | 19 +++ > 1 file changed, 11 insertions(+), 8 deletions(-) > > diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c > index ce3bfb4..710c551 100644 > --- a/tools/perf/builtin-lock.c > +++ b/tools/perf/builtin-lock.c > @@ -947,27 +947,30 @@ static int __cmd_record(int argc, const char **argv) > > int cmd_lock(int argc, const char **argv, const char *prefix __maybe_unused) > { > + const struct option lock_options[] = { > + OPT_STRING('i', "input", _name, "file", "input file name"), > + OPT_INCR('v', "verbose", , "be more verbose (show symbol > address, etc)"), > + OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in > ASCII"), > + OPT_END() > + }; > + > const struct option info_options[] = { > OPT_BOOLEAN('t', "threads", _threads, > "dump thread list in perf.data"), > OPT_BOOLEAN('m', "map", _map, > "map of lock instances (address:name table)"), > OPT_BOOLEAN('f', "force", , "don't complain, do it"), Good catch, OPT_PARENT came after 'perf lock', but you forgot 'f', I'm adding it and renaming 'lock_options' to 'lock_input_options', ok? > - OPT_END() > - }; > - const struct option lock_options[] = { > - OPT_STRING('i', "input", _name, "file", "input file name"), > - OPT_INCR('v', "verbose", , "be more verbose (show symbol > address, etc)"), > - OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in > ASCII"), > - OPT_END() > + OPT_PARENT(lock_options) > }; > + > const struct option report_options[] = { > OPT_STRING('k', "key", _key, "acquired", > "key for sorting (acquired / contended / avg_wait / > wait_total / wait_max / wait_min)"), > OPT_BOOLEAN('f', "force", , "don't complain, do it"), > /* TODO: type */ > - OPT_END() > + OPT_PARENT(lock_options) > }; > + > const char * const info_usage[] = { > "perf lock info []", > NULL > -- > 2.7.4
[PATCH] perf lock: subcommands should include common options
From: Changbin DuWhen I use -i option for report subcommand, it doesn't accept it. We need add common options using OPT_PARENT macro. perf lock report -i lock_perf.data Error: unknown switch `i' Usage: perf lock report [] -f, --force don't complain, do it -k, --key key for sorting ... Signed-off-by: Changbin Du --- tools/perf/builtin-lock.c | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index ce3bfb4..710c551 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -947,27 +947,30 @@ static int __cmd_record(int argc, const char **argv) int cmd_lock(int argc, const char **argv, const char *prefix __maybe_unused) { + const struct option lock_options[] = { + OPT_STRING('i', "input", _name, "file", "input file name"), + OPT_INCR('v', "verbose", , "be more verbose (show symbol address, etc)"), + OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in ASCII"), + OPT_END() + }; + const struct option info_options[] = { OPT_BOOLEAN('t', "threads", _threads, "dump thread list in perf.data"), OPT_BOOLEAN('m', "map", _map, "map of lock instances (address:name table)"), OPT_BOOLEAN('f', "force", , "don't complain, do it"), - OPT_END() - }; - const struct option lock_options[] = { - OPT_STRING('i', "input", _name, "file", "input file name"), - OPT_INCR('v', "verbose", , "be more verbose (show symbol address, etc)"), - OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in ASCII"), - OPT_END() + OPT_PARENT(lock_options) }; + const struct option report_options[] = { OPT_STRING('k', "key", _key, "acquired", "key for sorting (acquired / contended / avg_wait / wait_total / wait_max / wait_min)"), OPT_BOOLEAN('f', "force", , "don't complain, do it"), /* TODO: type */ - OPT_END() + OPT_PARENT(lock_options) }; + const char * const info_usage[] = { "perf lock info []", NULL -- 2.7.4
[PATCH] perf lock: subcommands should include common options
From: Changbin Du When I use -i option for report subcommand, it doesn't accept it. We need add common options using OPT_PARENT macro. perf lock report -i lock_perf.data Error: unknown switch `i' Usage: perf lock report [] -f, --force don't complain, do it -k, --key key for sorting ... Signed-off-by: Changbin Du --- tools/perf/builtin-lock.c | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index ce3bfb4..710c551 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -947,27 +947,30 @@ static int __cmd_record(int argc, const char **argv) int cmd_lock(int argc, const char **argv, const char *prefix __maybe_unused) { + const struct option lock_options[] = { + OPT_STRING('i', "input", _name, "file", "input file name"), + OPT_INCR('v', "verbose", , "be more verbose (show symbol address, etc)"), + OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in ASCII"), + OPT_END() + }; + const struct option info_options[] = { OPT_BOOLEAN('t', "threads", _threads, "dump thread list in perf.data"), OPT_BOOLEAN('m', "map", _map, "map of lock instances (address:name table)"), OPT_BOOLEAN('f', "force", , "don't complain, do it"), - OPT_END() - }; - const struct option lock_options[] = { - OPT_STRING('i', "input", _name, "file", "input file name"), - OPT_INCR('v', "verbose", , "be more verbose (show symbol address, etc)"), - OPT_BOOLEAN('D', "dump-raw-trace", _trace, "dump raw trace in ASCII"), - OPT_END() + OPT_PARENT(lock_options) }; + const struct option report_options[] = { OPT_STRING('k', "key", _key, "acquired", "key for sorting (acquired / contended / avg_wait / wait_total / wait_max / wait_min)"), OPT_BOOLEAN('f', "force", , "don't complain, do it"), /* TODO: type */ - OPT_END() + OPT_PARENT(lock_options) }; + const char * const info_usage[] = { "perf lock info []", NULL -- 2.7.4