perf lock: subcommands should include common options
PATCH 1/1 perf lock: subcommands should include common options
From: Changbin Du <[email protected]>
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 [<options>]
-f, --force don't complain, do it
-k, --key <acquired> key for sorting ...
--- tools/perf/builtin-lock.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-)
tools/perf/builtin-lock.c +11 -8
@@ -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" , &input_name,"file" ,"input file name" ), +OPT_INCR ('v' ,"verbose" , &verbose,"be more verbose (show symbol address, etc)" ), +OPT_BOOLEAN ('D' ,"dump-raw-trace" , &dump_trace,"dump raw trace in ASCII" ), +OPT_END () + }; +const struct option info_options[] = {OPT_BOOLEAN ('t' ,"threads" , &info_threads,"dump thread list in perf.data" ),OPT_BOOLEAN ('m' ,"map" , &info_map,"map of lock instances (address:name table)" ),OPT_BOOLEAN ('f' ,"force" , &force,"don't complain, do it" ), -OPT_END () - }; -const struct option lock_options[] = { -OPT_STRING ('i' ,"input" , &input_name,"file" ,"input file name" ), -OPT_INCR ('v' ,"verbose" , &verbose,"be more verbose (show symbol address, etc)" ), -OPT_BOOLEAN ('D' ,"dump-raw-trace" , &dump_trace,"dump raw trace in ASCII" ), -OPT_END () +OPT_PARENT (lock_options) }; +const struct option report_options[] = {OPT_STRING ('k' ,"key" , &sort_key,"acquired" ,"key for sorting (acquired / contended / avg_wait / wait_total / wait_max / wait_min)" ),OPT_BOOLEAN ('f' ,"force" , &force,"don't complain, do it" ),/* TODO: type */ -OPT_END () +OPT_PARENT (lock_options) }; +const char *const info_usage[] = {"perf lock info [<options>]" ,NULL
Signature · 1 line
2.7.4
Arnaldo Carvalho de Melo
maintainerEm Fri, Mar 17, 2017 at 01:53:42PM +0800, [email protected] escreveu:
Quoted 29 lines
From: Changbin Du <[email protected]>
When I use -i option for report subcommand, it doesn't accept it. We need add common options using
OPT_PARENTmacro.perf lock report -i lock_perf.data
Error: unknown switch `i'Usage: perf lock report [<options>]
-f, --force don't complain, do it
-k, --key <acquired> key for sorting ...Signed-off-by Changbin Du <[email protected]>--- tools/perf/builtin-lock.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-)tools/perf/builtin-lock.c +3
-0@@ -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" , &input_name,"file" ,"input file name" ), +OPT_INCR ('v' ,"verbose" , &verbose,"be more verbose (show symbol address, etc)" ),
tools/perf/builtin-lock.c static int __cmd_record(int argc, const char **argv) · line 962
Quoted 10 lines
tools/perf/builtin-lock.c +4
-0+OPT_BOOLEAN ('D' ,"dump-raw-trace" , &dump_trace,"dump raw trace in ASCII" ), +OPT_END () + }; +const struct option info_options[] = {OPT_BOOLEAN ('t' ,"threads" , &info_threads,"dump thread list in perf.data" ),OPT_BOOLEAN ('m' ,"map" , &info_map,"map of lock instances (address:name table)" ), OPT_BOOLEAN('f', "force", &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?
Quoted 24 lines
tools/perf/builtin-lock.c +4
-8-OPT_END () - }; -const struct option lock_options[] = { -OPT_STRING ('i' ,"input" , &input_name,"file" ,"input file name" ), -OPT_INCR ('v' ,"verbose" , &verbose,"be more verbose (show symbol address, etc)" ), -OPT_BOOLEAN ('D' ,"dump-raw-trace" , &dump_trace,"dump raw trace in ASCII" ), -OPT_END () +OPT_PARENT (lock_options) }; +const struct option report_options[] = {OPT_STRING ('k' ,"key" , &sort_key,"acquired" ,"key for sorting (acquired / contended / avg_wait / wait_total / wait_max / wait_min)" ),OPT_BOOLEAN ('f' ,"force" , &force,"don't complain, do it" ),/* TODO: type */ -OPT_END () +OPT_PARENT (lock_options) }; +const char *const info_usage[] = {"perf lock info [<options>]" ,NULL Signature · 1 line
2.7.4
Quoted 35 lines · Arnaldo Carvalho de Melo
Em Fri, Mar 17, 2017 at 01:53:42PM +0800, [email protected] escreveu:
Quoted 34 lines
From: Changbin Du <[email protected]>
When I use -i option for report subcommand, it doesn't accept it. We need add common options using
OPT_PARENTmacro.perf lock report -i lock_perf.data
Error: unknown switch `i'Usage: perf lock report [<options>]
-f, --force don't complain, do it
-k, --key <acquired> key for sorting ...Signed-off-by Changbin Du <[email protected]>--- tools/perf/builtin-lock.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-)tools/perf/builtin-lock.c +7
-0@@ -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" , &input_name,"file" ,"input file name" ), +OPT_INCR ('v' ,"verbose" , &verbose,"be more verbose (show symbol address, etc)" ), +OPT_BOOLEAN ('D' ,"dump-raw-trace" , &dump_trace,"dump raw trace in ASCII" ), +OPT_END () + }; +const struct option info_options[] = {
Quoted 9 lines
tools/perf/builtin-lock.c static int __cmd_record(int argc, const char **argv) · line 962
Quoted 5 lines
tools/perf/builtin-lock.c +0
-0OPT_BOOLEAN ('t' ,"threads" , &info_threads,"dump thread list in perf.data" ),OPT_BOOLEAN ('m' ,"map" , &info_map,"map of lock instances (address:name table)" ), OPT_BOOLEAN('f', "force", &force, "don't complain, do it"),Good catch,
OPT_PARENTcame 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.
Signature · 2 lines
Thanks, Changbin Du
tip-bot for Changbin Du
merge bot[tip:perf/core] perf lock: Subcommands should include common options
In reply to [email protected]perf lock: Subcommands should include common options
Commit-ID: 249eed53152167c64c6dc66fa269a1d8b415a7b4 Gitweb: http://git.kernel.org/tip/249eed53152167c64c6dc66fa269a1d8b415a7b4 Author: Changbin Du <[email protected]> AuthorDate: Fri, 17 Mar 2017 13:53:42 +0800 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Fri, 17 Mar 2017 11:49:07 -0300
perf lock: Subcommands should include common options
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 [<options>]
-f, --force don't complain, do it
-k, --key <acquired> key for sorting ...
--- tools/perf/builtin-lock.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-)
tools/perf/builtin-lock.c +11 -8
@@ -948,27 +948,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" , &input_name,"file" ,"input file name" ), +OPT_INCR ('v' ,"verbose" , &verbose,"be more verbose (show symbol address, etc)" ), +OPT_BOOLEAN ('D' ,"dump-raw-trace" , &dump_trace,"dump raw trace in ASCII" ), +OPT_END () + }; +const struct option info_options[] = {OPT_BOOLEAN ('t' ,"threads" , &info_threads,"dump thread list in perf.data" ),OPT_BOOLEAN ('m' ,"map" , &info_map,"map of lock instances (address:name table)" ),OPT_BOOLEAN ('f' ,"force" , &force,"don't complain, do it" ), -OPT_END () - }; -const struct option lock_options[] = { -OPT_STRING ('i' ,"input" , &input_name,"file" ,"input file name" ), -OPT_INCR ('v' ,"verbose" , &verbose,"be more verbose (show symbol address, etc)" ), -OPT_BOOLEAN ('D' ,"dump-raw-trace" , &dump_trace,"dump raw trace in ASCII" ), -OPT_END () +OPT_PARENT (lock_options) }; +const struct option report_options[] = {OPT_STRING ('k' ,"key" , &sort_key,"acquired" ,"key for sorting (acquired / contended / avg_wait / wait_total / wait_max / wait_min)" ),OPT_BOOLEAN ('f' ,"force" , &force,"don't complain, do it" ),/* TODO: type */ -OPT_END () +OPT_PARENT (lock_options) }; +const char *const info_usage[] = {"perf lock info [<options>]" ,NULL