Hi Gaurav, On Wed, 15 Jan 2014 06:44:39 +0000, Gaurav Jain wrote: > Hi Namhyung, > > > On 1/15/14, 12:46 AM, "Namhyung Kim" <namhy...@kernel.org> wrote: >>Hmm.. so the point is that an executable heap mapping should have >>/tmp/perf-XXX.map as a file name, right? If so, does something like >>below work well for you? > > Just gave it a try and it fixed the issue perfectly! Thanks for the help. > This looks like a much better solution than treating the heap mapping as > an anon record.
Thanks for testing! It's good to hear it solved your problem. :) > > Gaurav > >>diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c >>index 9b9bd719aa19..d52387fe83f1 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)) { Hmm.. I think it should check type of anon mapping too (assuming JIT interface only provides function symbols, no?): 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 (no_dso && type != MAP__FUNCTION) And it should be simply: if (type != MAP__FUNCTION) >> dso__set_loaded(dso, map->type); >> } >> } I'll update this and send a formal patch soon. Could you please test it with the new patch then? Thanks, Namhyung -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/