From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: He Kuang <hekuang@huawei.com>,
a.p.zijlstra@chello.nl, mingo@redhat.com, namhyung@kernel.org,
wangnan0@huawei.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] perf probe: Make --source avaiable when probe with lazy_line
Date: Mon, 13 Apr 2015 13:05:13 -0300 [thread overview]
Message-ID: <20150413160513.GJ3200@kernel.org> (raw)
In-Reply-To: <552BE38F.6000203@hitachi.com>
Em Tue, Apr 14, 2015 at 12:41:03AM +0900, Masami Hiramatsu escreveu:
> Hi,
>
> This one should already be fixed with Naohiro's patch.
>
> https://lkml.org/lkml/2015/3/13/16
>
> Arnaldo, I've already given my ack for that.
>
> https://lkml.org/lkml/2015/3/13/298
>
> Should I resend that?
I will check that and apply, thanks!
- Arnaldo
>
> Thank you,
>
> (2015/04/13 20:41), He Kuang wrote:
> > Use get_real_path() to enable --source option when probe with lazy_line
> > pattern.
> >
> > Before this patch:
> >
> > $ perf probe -s ./kernel_src/ -k ./vmlinux --add='fs/super.c;s->s_count=1;'
> > Failed to open fs/super.c: No such file or directory
> > Error: Failed to add events.
> >
> > After this patch:
> >
> > $ perf probe -s ./kernel_src/ -k ./vmlinux --add='fs/super.c;s->s_count=1;'
> > Added new events:
> > probe:_stext (on @fs/super.c)
> > probe:_stext_1 (on @fs/super.c)
> > ...
> >
> > Signed-off-by: He Kuang <hekuang@huawei.com>
> > ---
> > tools/perf/util/probe-event.c | 2 +-
> > tools/perf/util/probe-event.h | 2 ++
> > tools/perf/util/probe-finder.c | 18 +++++++++++++++---
> > 3 files changed, 18 insertions(+), 4 deletions(-)
> >
> > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> > index 5483d98..35ee51a 100644
> > --- a/tools/perf/util/probe-event.c
> > +++ b/tools/perf/util/probe-event.c
> > @@ -661,7 +661,7 @@ static int try_to_find_probe_trace_events(struct perf_probe_event *pev,
> > * a newly allocated path on success.
> > * Return 0 if file was found and readable, -errno otherwise.
> > */
> > -static int get_real_path(const char *raw_path, const char *comp_dir,
> > +int get_real_path(const char *raw_path, const char *comp_dir,
> > char **new_path)
> > {
> > const char *prefix = symbol_conf.source_prefix;
> > diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
> > index d6b7834..21809ea 100644
> > --- a/tools/perf/util/probe-event.h
> > +++ b/tools/perf/util/probe-event.h
> > @@ -135,6 +135,8 @@ extern int show_available_vars(struct perf_probe_event *pevs, int npevs,
> > struct strfilter *filter, bool externs);
> > extern int show_available_funcs(const char *module, struct strfilter *filter,
> > bool user);
> > +extern int get_real_path(const char *raw_path, const char *comp_dir,
> > + char **new_path);
> >
> > /* Maximum index number of event-name postfix */
> > #define MAX_EVENT_INDEX 1024
> > diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c
> > index 7831e2d..431c12d 100644
> > --- a/tools/perf/util/probe-finder.c
> > +++ b/tools/perf/util/probe-finder.c
> > @@ -791,11 +791,20 @@ static int find_lazy_match_lines(struct intlist *list,
> > ssize_t len;
> > int count = 0, linenum = 1;
> > char sbuf[STRERR_BUFSIZE];
> > + char *realname = NULL;
> > + int ret;
> >
> > - fp = fopen(fname, "r");
> > + ret = get_real_path(fname, NULL, &realname);
> > + if (ret < 0) {
> > + pr_warning("Failed to find source file %s.\n", fname);
> > + return ret;
> > + }
> > +
> > + fp = fopen(realname, "r");
> > if (!fp) {
> > - pr_warning("Failed to open %s: %s\n", fname,
> > + pr_warning("Failed to open %s: %s\n", realname,
> > strerror_r(errno, sbuf, sizeof(sbuf)));
> > + free(realname);
> > return -errno;
> > }
> >
> > @@ -817,7 +826,10 @@ static int find_lazy_match_lines(struct intlist *list,
> > fclose(fp);
> >
> > if (count == 0)
> > - pr_debug("No matched lines found in %s.\n", fname);
> > + pr_debug("No matched lines found in %s.\n", realname);
> > +
> > + free(realname);
> > +
> > return count;
> > }
> >
> >
>
>
> --
> Masami HIRAMATSU
> Linux Technology Research Center, System Productivity Research Dept.
> Center for Technology Innovation - Systems Engineering
> Hitachi, Ltd., Research & Development Group
> E-mail: masami.hiramatsu.pt@hitachi.com
>
next prev parent reply other threads:[~2015-04-13 16:05 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-13 11:41 [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode He Kuang
2015-04-13 11:41 ` [PATCH 2/3] perf probe: Make --source avaiable when probe with lazy_line He Kuang
2015-04-13 15:41 ` Masami Hiramatsu
2015-04-13 16:05 ` Arnaldo Carvalho de Melo [this message]
2015-04-13 20:56 ` Arnaldo Carvalho de Melo
2015-04-13 20:57 ` Arnaldo Carvalho de Melo
2015-04-13 21:00 ` Arnaldo Carvalho de Melo
2015-04-13 11:41 ` [PATCH 3/3] perf probe: Fix segfault when probe with lazy_line to file He Kuang
2015-04-13 16:03 ` Masami Hiramatsu
2015-04-14 12:18 ` [tip:perf/urgent] " tip-bot for He Kuang
2015-04-13 14:39 ` [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode Arnaldo Carvalho de Melo
2015-04-13 14:42 ` Arnaldo Carvalho de Melo
2015-04-13 15:38 ` He Kuang
2015-04-13 20:42 ` Arnaldo Carvalho de Melo
2015-04-13 15:23 ` He Kuang
2015-04-13 16:23 ` Arnaldo Carvalho de Melo
2015-04-13 15:42 ` Masami Hiramatsu
2015-04-13 16:05 ` Arnaldo Carvalho de Melo
2015-04-14 12:17 ` [tip:perf/urgent] " tip-bot for He Kuang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150413160513.GJ3200@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=hekuang@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.