lkml.org 
[lkml]   [2009]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [tip:perf/core] perf probe: Add --list option for listing current probe events
Hi Masami,

tip-bot for Masami Hiramatsu wrote:
> Commit-ID: 4de189fe6e5ad8241f6f8709d2e2ba4c3aeae33a
> Gitweb: http://git.kernel.org/tip/4de189fe6e5ad8241f6f8709d2e2ba4c3aeae33a
> Author: Masami Hiramatsu <mhiramat@redhat.com>
> AuthorDate: Mon, 30 Nov 2009 19:20:17 -0500
> Committer: Ingo Molnar <mingo@elte.hu>
> CommitDate: Tue, 1 Dec 2009 08:20:02 +0100
>
> perf probe: Add --list option for listing current probe events
>
> Add --list option for listing currently defined probe events
> in the kernel. This shows events in below format;
>
> [group:event] <perf-probe probe-definition>
>
> for example:
>
> [probe:schedule_0] schedule+30 cpu
>
> Note that source file/line information is not supported yet.
> So even if you added a probe by line, it will be shown in
> <symbol+offset>.
...
> +
> + /* Scan event and group name. */
> + ret = sscanf(argv[0], "%c:%m[^/ \t]/%m[^ \t]",
> + &pr, group, event);
"%m" are typos?
> + if (ret != 3)
> + semantic_error("Failed to parse event name: %s", argv[0]);
> + pr_debug("Group:%s Event:%s probe:%c\n", *group, *event, pr);
> +
> + if (!pp)
> + goto end;
> +
> + pp->retprobe = (pr == 'r');
> +
> + /* Scan function name and offset */
> + ret = sscanf(argv[1], "%m[^+]+%d", &pp->function, &pp->offset);
the same error? fix attached below.

--

diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index e42f3ac..8d46521 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -199,8 +199,8 @@ void parse_trace_kprobe_event(const char *str, char **group,
char **event,
semantic_error("Too less arguments.");

/* Scan event and group name. */
- ret = sscanf(argv[0], "%c:%m[^/ \t]/%m[^ \t]",
- &pr, group, event);
+ ret = sscanf(argv[0], "%c:%s[^/ \t]/%s[^ \t]",
+ &pr, *group, *event);
if (ret != 3)
semantic_error("Failed to parse event name: %s", argv[0]);
pr_debug("Group:%s Event:%s probe:%c\n", *group, *event, pr);
@@ -211,7 +211,7 @@ void parse_trace_kprobe_event(const char *str, char **group,
char **event,
pp->retprobe = (pr == 'r');

/* Scan function name and offset */
- ret = sscanf(argv[1], "%m[^+]+%d", &pp->function, &pp->offset);
+ ret = sscanf(argv[1], "%s[^+]+%d", pp->function, &pp->offset);
if (ret == 1)
pp->offset = 0;





\
 
 \ /
  Last update: 2009-12-02 05:13    [W:0.100 / U:1.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site