lkml.org 
[lkml]   [2014]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] perf tools: Synthesize anon MMAP records on the heap
Date
Hi Namhyung,

> On Jan 15, 2014, at 8:01 PM, "Namhyung Kim" <namhyung@kernel.org> wrote:
>
> 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" <namhyung@kernel.org> wrote:
>>> 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)) {

In that case, shouldn't we filter out all mappings that are not executable as I had intended to do in my original patch?

>>> 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?

Sure I'll test the new patch, though please note my previous suggestion.

Gaurav

\
 
 \ /
  Last update: 2014-01-16 07:21    [W:0.090 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site