All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: (ltc-kernel 10243) [PATCH perf/core 2/2] perf-probe: Add --quiet option to suppress output result message
  2014-10-27 20:31 ` [PATCH perf/core 2/2] perf-probe: Add --quiet option to suppress output result message Masami Hiramatsu
@ 2014-10-27 12:39   ` Masami Hiramatsu
  2014-10-28  6:27     ` Hemant Kumar
  2014-10-30  6:47   ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
  1 sibling, 1 reply; 6+ messages in thread
From: Masami Hiramatsu @ 2014-10-27 12:39 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Hemant Kumar
  Cc: srikar, Peter Zijlstra, Linux Kernel Mailing List, namhyung,
	Ingo Molnar

Hi Hermant,

This patch is actually what you need for suppressing the result
messages when adding/removing probe events from sdt event tracing.
You just need to set "verbose=-1" around adding/removing probes.

Thank you,

(2014/10/28 5:31), Masami Hiramatsu wrote:
> Add --quiet(-q) option to suppress output result message
> for --add, and --del options (Note that --lines/funcs/vars are
> not affected). This option is useful if you run the perf
> probe inside your scripts.
> 
> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
> ---
>  tools/perf/builtin-probe.c    |   11 +++++++++++
>  tools/perf/util/probe-event.c |   18 +++++++++---------
>  2 files changed, 20 insertions(+), 9 deletions(-)
> 
> diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
> index 2d3577d..921bb69 100644
> --- a/tools/perf/builtin-probe.c
> +++ b/tools/perf/builtin-probe.c
> @@ -55,6 +55,7 @@ static struct {
>  	bool show_funcs;
>  	bool mod_events;
>  	bool uprobes;
> +	bool quiet;
>  	int nevents;
>  	struct perf_probe_event events[MAX_PROBES];
>  	struct strlist *dellist;
> @@ -315,6 +316,8 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
>  	struct option options[] = {
>  	OPT_INCR('v', "verbose", &verbose,
>  		    "be more verbose (show parsed arguments, etc)"),
> +	OPT_BOOLEAN('q', "quiet", &params.quiet,
> +		    "be quiet (do not show any mesages)"),
>  	OPT_BOOLEAN('l', "list", &params.list_events,
>  		    "list up current probe events"),
>  	OPT_CALLBACK('d', "del", NULL, "[GROUP:]EVENT", "delete a probe event.",
> @@ -404,6 +407,14 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
>  		}
>  	}
>  
> +	if (params.quiet) {
> +		if (verbose != 0) {
> +			pr_err("  Error: -v and -q are exclusive.\n");
> +			return -EINVAL;
> +		}
> +		verbose = -1;
> +	}
> +
>  	if (params.max_probe_points == 0)
>  		params.max_probe_points = MAX_PROBES;
>  
> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> index c150ca4..28eb141 100644
> --- a/tools/perf/util/probe-event.c
> +++ b/tools/perf/util/probe-event.c
> @@ -1910,21 +1910,21 @@ static int show_perf_probe_event(struct perf_probe_event *pev,
>  	if (ret < 0)
>  		return ret;
>  
> -	printf("  %-20s (on %s", buf, place);
> +	pr_info("  %-20s (on %s", buf, place);
>  	if (module)
> -		printf(" in %s", module);
> +		pr_info(" in %s", module);
>  
>  	if (pev->nargs > 0) {
> -		printf(" with");
> +		pr_info(" with");
>  		for (i = 0; i < pev->nargs; i++) {
>  			ret = synthesize_perf_probe_arg(&pev->args[i],
>  							buf, 128);
>  			if (ret < 0)
>  				break;
> -			printf(" %s", buf);
> +			pr_info(" %s", buf);
>  		}
>  	}
> -	printf(")\n");
> +	pr_info(")\n");
>  	free(place);
>  	return ret;
>  }
> @@ -2124,7 +2124,7 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
>  	}
>  
>  	ret = 0;
> -	printf("Added new event%s\n", (ntevs > 1) ? "s:" : ":");
> +	pr_info("Added new event%s\n", (ntevs > 1) ? "s:" : ":");
>  	for (i = 0; i < ntevs; i++) {
>  		tev = &tevs[i];
>  		if (pev->event)
> @@ -2179,8 +2179,8 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
>  
>  	if (ret >= 0) {
>  		/* Show how to use the event. */
> -		printf("\nYou can now use it in all perf tools, such as:\n\n");
> -		printf("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group,
> +		pr_info("\nYou can now use it in all perf tools, such as:\n\n");
> +		pr_info("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group,
>  			 tev->event);
>  	}
>  
> @@ -2444,7 +2444,7 @@ static int __del_trace_probe_event(int fd, struct str_node *ent)
>  		goto error;
>  	}
>  
> -	printf("Removed event: %s\n", ent->s);
> +	pr_info("Removed event: %s\n", ent->s);
>  	return 0;
>  error:
>  	pr_warning("Failed to delete event: %s\n",
> 
> 
> 


-- 
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com



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

* [PATCH perf/core 1/2] [BUGFIX] perf-probe: a trivial typo fix for --demangle
@ 2014-10-27 20:31 Masami Hiramatsu
  2014-10-27 20:31 ` [PATCH perf/core 2/2] perf-probe: Add --quiet option to suppress output result message Masami Hiramatsu
  2014-10-30  6:41 ` [tip:perf/core] perf probe: Trivial typo fix for --demangle tip-bot for Masami Hiramatsu
  0 siblings, 2 replies; 6+ messages in thread
From: Masami Hiramatsu @ 2014-10-27 20:31 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: srikar, Peter Zijlstra, Linux Kernel Mailing List, namhyung,
	Hemant Kumar, Ingo Molnar

Replace "Disable" with "Enable", since --demangle option
enables symbol demangling, not disable it.
perf probe has --demangle and --no-demangle options,
but the command-line help (--help) shows only --demangle
option. So it should explain about --demangle.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
---
 tools/perf/builtin-probe.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index 23d6e7f0..2d3577d 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -375,7 +375,7 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
 	OPT_CALLBACK('x', "exec", NULL, "executable|path",
 			"target executable name or path", opt_set_target),
 	OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
-		    "Disable symbol demangling"),
+		    "Enable symbol demangling"),
 	OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
 		    "Enable kernel symbol demangling"),
 	OPT_END()



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

* [PATCH perf/core 2/2] perf-probe: Add --quiet option to suppress output result message
  2014-10-27 20:31 [PATCH perf/core 1/2] [BUGFIX] perf-probe: a trivial typo fix for --demangle Masami Hiramatsu
@ 2014-10-27 20:31 ` Masami Hiramatsu
  2014-10-27 12:39   ` (ltc-kernel 10243) " Masami Hiramatsu
  2014-10-30  6:47   ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
  2014-10-30  6:41 ` [tip:perf/core] perf probe: Trivial typo fix for --demangle tip-bot for Masami Hiramatsu
  1 sibling, 2 replies; 6+ messages in thread
From: Masami Hiramatsu @ 2014-10-27 20:31 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: srikar, Peter Zijlstra, Linux Kernel Mailing List, namhyung,
	Hemant Kumar, Ingo Molnar

Add --quiet(-q) option to suppress output result message
for --add, and --del options (Note that --lines/funcs/vars are
not affected). This option is useful if you run the perf
probe inside your scripts.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
---
 tools/perf/builtin-probe.c    |   11 +++++++++++
 tools/perf/util/probe-event.c |   18 +++++++++---------
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index 2d3577d..921bb69 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -55,6 +55,7 @@ static struct {
 	bool show_funcs;
 	bool mod_events;
 	bool uprobes;
+	bool quiet;
 	int nevents;
 	struct perf_probe_event events[MAX_PROBES];
 	struct strlist *dellist;
@@ -315,6 +316,8 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
 	struct option options[] = {
 	OPT_INCR('v', "verbose", &verbose,
 		    "be more verbose (show parsed arguments, etc)"),
+	OPT_BOOLEAN('q', "quiet", &params.quiet,
+		    "be quiet (do not show any mesages)"),
 	OPT_BOOLEAN('l', "list", &params.list_events,
 		    "list up current probe events"),
 	OPT_CALLBACK('d', "del", NULL, "[GROUP:]EVENT", "delete a probe event.",
@@ -404,6 +407,14 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
 		}
 	}
 
+	if (params.quiet) {
+		if (verbose != 0) {
+			pr_err("  Error: -v and -q are exclusive.\n");
+			return -EINVAL;
+		}
+		verbose = -1;
+	}
+
 	if (params.max_probe_points == 0)
 		params.max_probe_points = MAX_PROBES;
 
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index c150ca4..28eb141 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -1910,21 +1910,21 @@ static int show_perf_probe_event(struct perf_probe_event *pev,
 	if (ret < 0)
 		return ret;
 
-	printf("  %-20s (on %s", buf, place);
+	pr_info("  %-20s (on %s", buf, place);
 	if (module)
-		printf(" in %s", module);
+		pr_info(" in %s", module);
 
 	if (pev->nargs > 0) {
-		printf(" with");
+		pr_info(" with");
 		for (i = 0; i < pev->nargs; i++) {
 			ret = synthesize_perf_probe_arg(&pev->args[i],
 							buf, 128);
 			if (ret < 0)
 				break;
-			printf(" %s", buf);
+			pr_info(" %s", buf);
 		}
 	}
-	printf(")\n");
+	pr_info(")\n");
 	free(place);
 	return ret;
 }
@@ -2124,7 +2124,7 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
 	}
 
 	ret = 0;
-	printf("Added new event%s\n", (ntevs > 1) ? "s:" : ":");
+	pr_info("Added new event%s\n", (ntevs > 1) ? "s:" : ":");
 	for (i = 0; i < ntevs; i++) {
 		tev = &tevs[i];
 		if (pev->event)
@@ -2179,8 +2179,8 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
 
 	if (ret >= 0) {
 		/* Show how to use the event. */
-		printf("\nYou can now use it in all perf tools, such as:\n\n");
-		printf("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group,
+		pr_info("\nYou can now use it in all perf tools, such as:\n\n");
+		pr_info("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group,
 			 tev->event);
 	}
 
@@ -2444,7 +2444,7 @@ static int __del_trace_probe_event(int fd, struct str_node *ent)
 		goto error;
 	}
 
-	printf("Removed event: %s\n", ent->s);
+	pr_info("Removed event: %s\n", ent->s);
 	return 0;
 error:
 	pr_warning("Failed to delete event: %s\n",



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

* Re: (ltc-kernel 10243) [PATCH perf/core 2/2] perf-probe: Add --quiet option to suppress output result message
  2014-10-27 12:39   ` (ltc-kernel 10243) " Masami Hiramatsu
@ 2014-10-28  6:27     ` Hemant Kumar
  0 siblings, 0 replies; 6+ messages in thread
From: Hemant Kumar @ 2014-10-28  6:27 UTC (permalink / raw)
  To: Masami Hiramatsu, Arnaldo Carvalho de Melo
  Cc: srikar, Peter Zijlstra, Linux Kernel Mailing List, namhyung,
	Ingo Molnar

Hi Masami,

On 10/27/2014 06:09 PM, Masami Hiramatsu wrote:
> Hi Hermant,
>
> This patch is actually what you need for suppressing the result
> messages when adding/removing probe events from sdt event tracing.
> You just need to set "verbose=-1" around adding/removing probes.

Thank you for working on this. :)

> Thank you,
>
> (2014/10/28 5:31), Masami Hiramatsu wrote:
>> Add --quiet(-q) option to suppress output result message
>> for --add, and --del options (Note that --lines/funcs/vars are
>> not affected). This option is useful if you run the perf
>> probe inside your scripts.
>>
>> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
>> ---
>>   tools/perf/builtin-probe.c    |   11 +++++++++++
>>   tools/perf/util/probe-event.c |   18 +++++++++---------
>>   2 files changed, 20 insertions(+), 9 deletions(-)
>>
>> diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
>> index 2d3577d..921bb69 100644
>> --- a/tools/perf/builtin-probe.c
>> +++ b/tools/perf/builtin-probe.c
>> @@ -55,6 +55,7 @@ static struct {
>>   	bool show_funcs;
>>   	bool mod_events;
>>   	bool uprobes;
>> +	bool quiet;
>>   	int nevents;
>>   	struct perf_probe_event events[MAX_PROBES];
>>   	struct strlist *dellist;
>> @@ -315,6 +316,8 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
>>   	struct option options[] = {
>>   	OPT_INCR('v', "verbose", &verbose,
>>   		    "be more verbose (show parsed arguments, etc)"),
>> +	OPT_BOOLEAN('q', "quiet", &params.quiet,
>> +		    "be quiet (do not show any mesages)"),
>>   	OPT_BOOLEAN('l', "list", &params.list_events,
>>   		    "list up current probe events"),
>>   	OPT_CALLBACK('d', "del", NULL, "[GROUP:]EVENT", "delete a probe event.",
>> @@ -404,6 +407,14 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
>>   		}
>>   	}
>>   
>> +	if (params.quiet) {
>> +		if (verbose != 0) {
>> +			pr_err("  Error: -v and -q are exclusive.\n");
>> +			return -EINVAL;
>> +		}
>> +		verbose = -1;
>> +	}
>> +
>>   	if (params.max_probe_points == 0)
>>   		params.max_probe_points = MAX_PROBES;
>>   
>> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
>> index c150ca4..28eb141 100644
>> --- a/tools/perf/util/probe-event.c
>> +++ b/tools/perf/util/probe-event.c
>> @@ -1910,21 +1910,21 @@ static int show_perf_probe_event(struct perf_probe_event *pev,
>>   	if (ret < 0)
>>   		return ret;
>>   
>> -	printf("  %-20s (on %s", buf, place);
>> +	pr_info("  %-20s (on %s", buf, place);
>>   	if (module)
>> -		printf(" in %s", module);
>> +		pr_info(" in %s", module);
>>   
>>   	if (pev->nargs > 0) {
>> -		printf(" with");
>> +		pr_info(" with");
>>   		for (i = 0; i < pev->nargs; i++) {
>>   			ret = synthesize_perf_probe_arg(&pev->args[i],
>>   							buf, 128);
>>   			if (ret < 0)
>>   				break;
>> -			printf(" %s", buf);
>> +			pr_info(" %s", buf);
>>   		}
>>   	}
>> -	printf(")\n");
>> +	pr_info(")\n");
>>   	free(place);
>>   	return ret;
>>   }
>> @@ -2124,7 +2124,7 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
>>   	}
>>   
>>   	ret = 0;
>> -	printf("Added new event%s\n", (ntevs > 1) ? "s:" : ":");
>> +	pr_info("Added new event%s\n", (ntevs > 1) ? "s:" : ":");
>>   	for (i = 0; i < ntevs; i++) {
>>   		tev = &tevs[i];
>>   		if (pev->event)
>> @@ -2179,8 +2179,8 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
>>   
>>   	if (ret >= 0) {
>>   		/* Show how to use the event. */
>> -		printf("\nYou can now use it in all perf tools, such as:\n\n");
>> -		printf("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group,
>> +		pr_info("\nYou can now use it in all perf tools, such as:\n\n");
>> +		pr_info("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group,
>>   			 tev->event);
>>   	}
>>   
>> @@ -2444,7 +2444,7 @@ static int __del_trace_probe_event(int fd, struct str_node *ent)
>>   		goto error;
>>   	}
>>   
>> -	printf("Removed event: %s\n", ent->s);
>> +	pr_info("Removed event: %s\n", ent->s);
>>   	return 0;
>>   error:
>>   	pr_warning("Failed to delete event: %s\n",
>>
>>
>>
>

-- 
Thanks,
Hemant Kumar


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

* [tip:perf/core] perf probe: Trivial typo fix for --demangle
  2014-10-27 20:31 [PATCH perf/core 1/2] [BUGFIX] perf-probe: a trivial typo fix for --demangle Masami Hiramatsu
  2014-10-27 20:31 ` [PATCH perf/core 2/2] perf-probe: Add --quiet option to suppress output result message Masami Hiramatsu
@ 2014-10-30  6:41 ` tip-bot for Masami Hiramatsu
  1 sibling, 0 replies; 6+ messages in thread
From: tip-bot for Masami Hiramatsu @ 2014-10-30  6:41 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: acme, linux-kernel, masami.hiramatsu.pt, hpa, mingo, peterz,
	namhyung, srikar, hemant, tglx

Commit-ID:  4cdcc33db2f0455f297b4e14e434ba311ec5ca06
Gitweb:     http://git.kernel.org/tip/4cdcc33db2f0455f297b4e14e434ba311ec5ca06
Author:     Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
AuthorDate: Mon, 27 Oct 2014 16:31:24 -0400
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 29 Oct 2014 10:30:18 -0200

perf probe: Trivial typo fix for --demangle

Replace "Disable" with "Enable", since --demangle option enables symbol
demangling, not disable it.

perf probe has --demangle and --no-demangle options, but the
command-line help (--help) shows only --demangle option. So it should
explain about --demangle.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20141027203124.21219.68278.stgit@localhost.localdomain
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-probe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index 04412b4..7af26ac 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -375,7 +375,7 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
 	OPT_CALLBACK('x', "exec", NULL, "executable|path",
 			"target executable name or path", opt_set_target),
 	OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
-		    "Disable symbol demangling"),
+		    "Enable symbol demangling"),
 	OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
 		    "Enable kernel symbol demangling"),
 	OPT_END()

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

* [tip:perf/core] perf probe: Add --quiet option to suppress output result message
  2014-10-27 20:31 ` [PATCH perf/core 2/2] perf-probe: Add --quiet option to suppress output result message Masami Hiramatsu
  2014-10-27 12:39   ` (ltc-kernel 10243) " Masami Hiramatsu
@ 2014-10-30  6:47   ` tip-bot for Masami Hiramatsu
  1 sibling, 0 replies; 6+ messages in thread
From: tip-bot for Masami Hiramatsu @ 2014-10-30  6:47 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: masami.hiramatsu.pt, linux-kernel, hpa, namhyung, acme, peterz,
	mingo, hemant, tglx, srikar

Commit-ID:  5e17b28f1e246b98e08cb463f7d72cff6415fc53
Gitweb:     http://git.kernel.org/tip/5e17b28f1e246b98e08cb463f7d72cff6415fc53
Author:     Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
AuthorDate: Mon, 27 Oct 2014 16:31:31 -0400
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 29 Oct 2014 10:32:49 -0200

perf probe: Add --quiet option to suppress output result message

Add --quiet(-q) option to suppress output result message for --add, and
--del options (Note that --lines/funcs/vars are not affected). This
option is useful if you run the perf probe inside your scripts.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20141027203131.21219.35170.stgit@localhost.localdomain
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-probe.c    | 11 +++++++++++
 tools/perf/util/probe-event.c | 18 +++++++++---------
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index 2d3577d..921bb69 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -55,6 +55,7 @@ static struct {
 	bool show_funcs;
 	bool mod_events;
 	bool uprobes;
+	bool quiet;
 	int nevents;
 	struct perf_probe_event events[MAX_PROBES];
 	struct strlist *dellist;
@@ -315,6 +316,8 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
 	struct option options[] = {
 	OPT_INCR('v', "verbose", &verbose,
 		    "be more verbose (show parsed arguments, etc)"),
+	OPT_BOOLEAN('q', "quiet", &params.quiet,
+		    "be quiet (do not show any mesages)"),
 	OPT_BOOLEAN('l', "list", &params.list_events,
 		    "list up current probe events"),
 	OPT_CALLBACK('d', "del", NULL, "[GROUP:]EVENT", "delete a probe event.",
@@ -404,6 +407,14 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
 		}
 	}
 
+	if (params.quiet) {
+		if (verbose != 0) {
+			pr_err("  Error: -v and -q are exclusive.\n");
+			return -EINVAL;
+		}
+		verbose = -1;
+	}
+
 	if (params.max_probe_points == 0)
 		params.max_probe_points = MAX_PROBES;
 
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index c150ca4..28eb141 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -1910,21 +1910,21 @@ static int show_perf_probe_event(struct perf_probe_event *pev,
 	if (ret < 0)
 		return ret;
 
-	printf("  %-20s (on %s", buf, place);
+	pr_info("  %-20s (on %s", buf, place);
 	if (module)
-		printf(" in %s", module);
+		pr_info(" in %s", module);
 
 	if (pev->nargs > 0) {
-		printf(" with");
+		pr_info(" with");
 		for (i = 0; i < pev->nargs; i++) {
 			ret = synthesize_perf_probe_arg(&pev->args[i],
 							buf, 128);
 			if (ret < 0)
 				break;
-			printf(" %s", buf);
+			pr_info(" %s", buf);
 		}
 	}
-	printf(")\n");
+	pr_info(")\n");
 	free(place);
 	return ret;
 }
@@ -2124,7 +2124,7 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
 	}
 
 	ret = 0;
-	printf("Added new event%s\n", (ntevs > 1) ? "s:" : ":");
+	pr_info("Added new event%s\n", (ntevs > 1) ? "s:" : ":");
 	for (i = 0; i < ntevs; i++) {
 		tev = &tevs[i];
 		if (pev->event)
@@ -2179,8 +2179,8 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
 
 	if (ret >= 0) {
 		/* Show how to use the event. */
-		printf("\nYou can now use it in all perf tools, such as:\n\n");
-		printf("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group,
+		pr_info("\nYou can now use it in all perf tools, such as:\n\n");
+		pr_info("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group,
 			 tev->event);
 	}
 
@@ -2444,7 +2444,7 @@ static int __del_trace_probe_event(int fd, struct str_node *ent)
 		goto error;
 	}
 
-	printf("Removed event: %s\n", ent->s);
+	pr_info("Removed event: %s\n", ent->s);
 	return 0;
 error:
 	pr_warning("Failed to delete event: %s\n",

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

end of thread, other threads:[~2014-10-30  6:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-27 20:31 [PATCH perf/core 1/2] [BUGFIX] perf-probe: a trivial typo fix for --demangle Masami Hiramatsu
2014-10-27 20:31 ` [PATCH perf/core 2/2] perf-probe: Add --quiet option to suppress output result message Masami Hiramatsu
2014-10-27 12:39   ` (ltc-kernel 10243) " Masami Hiramatsu
2014-10-28  6:27     ` Hemant Kumar
2014-10-30  6:47   ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
2014-10-30  6:41 ` [tip:perf/core] perf probe: Trivial typo fix for --demangle tip-bot for Masami Hiramatsu

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.