All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf lock: subcommands should include common options
@ 2017-03-17  5:53 changbin.du
  2017-03-17 14:08 ` Arnaldo Carvalho de Melo
  2017-03-21  6:49 ` [tip:perf/core] perf lock: Subcommands " tip-bot for Changbin Du
  0 siblings, 2 replies; 4+ messages in thread
From: changbin.du @ 2017-03-17  5:53 UTC (permalink / raw)
  To: peterz, mingo, acme; +Cc: linux-kernel, Changbin Du

From: Changbin Du <changbin.du@intel.com>

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 ...

Signed-off-by: Changbin Du <changbin.du@intel.com>
---
 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", &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
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] perf lock: subcommands should include common options
  2017-03-17  5:53 [PATCH] perf lock: subcommands should include common options changbin.du
@ 2017-03-17 14:08 ` Arnaldo Carvalho de Melo
  2017-03-17 15:09   ` Du, Changbin
  2017-03-21  6:49 ` [tip:perf/core] perf lock: Subcommands " tip-bot for Changbin Du
  1 sibling, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-03-17 14:08 UTC (permalink / raw)
  To: changbin.du; +Cc: peterz, mingo, linux-kernel

Em Fri, Mar 17, 2017 at 01:53:42PM +0800, changbin.du@intel.com escreveu:
> From: Changbin Du <changbin.du@intel.com>
> 
> 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 ...
> 
> Signed-off-by: Changbin Du <changbin.du@intel.com>
> ---
>  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", &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"),

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", &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
> -- 
> 2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] perf lock: subcommands should include common options
  2017-03-17 14:08 ` Arnaldo Carvalho de Melo
@ 2017-03-17 15:09   ` Du, Changbin
  0 siblings, 0 replies; 4+ messages in thread
From: Du, Changbin @ 2017-03-17 15:09 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo; +Cc: changbin.du, peterz, mingo, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1968 bytes --]

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.du@intel.com escreveu:
> > From: Changbin Du <changbin.du@intel.com>
> > 
> > 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 ...
> > 
> > Signed-off-by: Changbin Du <changbin.du@intel.com>
> > ---
> >  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", &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"),
> 
> 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:perf/core] perf lock: Subcommands should include common options
  2017-03-17  5:53 [PATCH] perf lock: subcommands should include common options changbin.du
  2017-03-17 14:08 ` Arnaldo Carvalho de Melo
@ 2017-03-21  6:49 ` tip-bot for Changbin Du
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for Changbin Du @ 2017-03-21  6:49 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: acme, hpa, linux-kernel, peterz, tglx, changbin.du, mingo

Commit-ID:  249eed53152167c64c6dc66fa269a1d8b415a7b4
Gitweb:     http://git.kernel.org/tip/249eed53152167c64c6dc66fa269a1d8b415a7b4
Author:     Changbin Du <changbin.du@intel.com>
AuthorDate: Fri, 17 Mar 2017 13:53:42 +0800
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
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 ...

Signed-off-by: Changbin Du <changbin.du@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20170317055342.8284-1-changbin.du@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 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 d750cca..4ce815b 100644
--- a/tools/perf/builtin-lock.c
+++ b/tools/perf/builtin-lock.c
@@ -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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-21  6:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-17  5:53 [PATCH] perf lock: subcommands should include common options changbin.du
2017-03-17 14:08 ` Arnaldo Carvalho de Melo
2017-03-17 15:09   ` Du, Changbin
2017-03-21  6:49 ` [tip:perf/core] perf lock: Subcommands " tip-bot for Changbin Du

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.