From: Pekka Enberg <penberg@iki.fi>
To: Namhyung Kim <namhyung@kernel.org>,
Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@kernel.org>,
Namhyung Kim <namhyung.kim@lge.com>,
LKML <linux-kernel@vger.kernel.org>, Gaurav Jain <gjain@fb.com>,
Jiri Olsa <jolsa@redhat.com>, David Ahern <dsahern@gmail.com>,
Andi Kleen <andi@firstfloor.org>
Subject: Re: [PATCH] perf tools: Fix JIT profiling on heap
Date: Fri, 31 Jan 2014 13:50:27 +0200 [thread overview]
Message-ID: <52EB8E03.1030505@iki.fi> (raw)
In-Reply-To: <1389836971-3549-1-git-send-email-namhyung@kernel.org>
On 01/16/2014 03:49 AM, Namhyung Kim wrote:
> Gaurav reported that perf cannot profile JIT program if it executes
> the code on heap. This was because current map__new() only handle JIT
> on anon mappings - extends it to handle no_dso (heap, stack) case too.
>
> This patch assumes JIT profiling only provides dynamic function
> symbols so check the mapping type to distinguish the case. It'd
> provide no symbols for data mapping - if we need to support symbols on
> data mappings later it should be changed.
>
> Reported-by: Gaurav Jain <gjain@fb.com>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Looks OK to me. Gaurav, does this fix your problem?
> ---
> tools/perf/util/map.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c
> index 9b9bd719aa19..ee1dd687a262 100644
> --- a/tools/perf/util/map.c
> +++ b/tools/perf/util/map.c
> @@ -69,7 +69,7 @@ struct map *map__new(struct list_head *dsos__list, u64 start, u64 len,
> map->ino = ino;
> map->ino_generation = ino_gen;
>
> - if (anon) {
> + if ((anon || no_dso) && type == MAP__FUNCTION) {
> snprintf(newfilename, sizeof(newfilename), "/tmp/perf-%d.map", pid);
> filename = newfilename;
> }
> @@ -93,7 +93,7 @@ struct map *map__new(struct list_head *dsos__list, u64 start, u64 len,
> * functions still return NULL, and we avoid the
> * unnecessary map__load warning.
> */
> - if (no_dso)
> + if (type != MAP__FUNCTION)
> dso__set_loaded(dso, map->type);
> }
> }
next prev parent reply other threads:[~2014-01-31 11:50 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-16 1:49 [PATCH] perf tools: Fix JIT profiling on heap Namhyung Kim
2014-01-16 14:37 ` Arnaldo Carvalho de Melo
2014-01-16 20:23 ` Gaurav Jain
2014-01-17 7:44 ` Namhyung Kim
2014-01-17 14:34 ` Arnaldo Carvalho de Melo
2014-01-21 5:54 ` Namhyung Kim
2014-01-21 13:55 ` Arnaldo Carvalho de Melo
2014-01-21 14:16 ` Ingo Molnar
2014-01-22 23:43 ` Gaurav Jain
2014-01-22 23:50 ` Namhyung Kim
2014-01-23 17:04 ` [tip:perf/urgent] perf symbols: Fix JIT symbol resolution " tip-bot for Namhyung Kim
2014-01-31 11:50 ` Pekka Enberg [this message]
2014-01-31 15:04 ` [PATCH] perf tools: Fix JIT profiling " Arnaldo Carvalho de Melo
2014-01-31 20:29 ` Pekka Enberg
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=52EB8E03.1030505@iki.fi \
--to=penberg@iki.fi \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@ghostprotocols.net \
--cc=andi@firstfloor.org \
--cc=dsahern@gmail.com \
--cc=gjain@fb.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung.kim@lge.com \
--cc=namhyung@kernel.org \
--cc=paulus@samba.org \
/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.