Re: [PATCH] perf tools: Synthesize anon MMAP records on the heap

From: Namhyung Kim
Date: Wed Jan 15 2014 - 20:03:56 EST


Hi Don,

On Wed, 15 Jan 2014 09:27:27 -0500, Don Zickus wrote:
> On Tue, Jan 14, 2014 at 08:48:23PM +0000, Gaurav Jain wrote:
>> On 1/13/14, 11:54 AM, "Don Zickus" <dzickus@xxxxxxxxxx> wrote:
>>
>> >On Sat, Jan 11, 2014 at 08:32:14PM -0800, Gaurav Jain wrote:
>> >> Anon records usually do not have the 'execname' entry. However if they
>> >>are on
>> >> the heap, the execname shows up as '[heap]'. The fix considers any
>> >>executable
>> >> entries in the map that do not have a name or are on the heap as anon
>> >>records
>> >> and sets the name to '//anon'.
>> >>
>> >> This fixes JIT profiling for records on the heap.
>> >
>> >I guess I don't understand the need for this fix. It seems breaking out
>> >//anon vs. [heap] would be useful. Your patch is saying otherwise. Can
>> >give a description of the problem you are trying to solve?
>>
>> Thank you for looking at the patch.
>>
>> We generate a perf map file which includes certain JITÂed functions that
>> show up as [heap] entries. As a result, I included the executable heap
>> entries as anon pages so that it would be handled in
>> util/map.c:map__new(). The alternative would be to handle heap entries in
>> map__new() directly, however I wasnÂt sure if this would break something
>> as it seems that heap and stack entries are expected to fail all
>> map__find_* functions. Thus I considered executable heap entries as
>> //anon, but perhaps there is a better way.
>
> Thanks for the improved problem description. I see it led to a better
> patch. :-) That is why it is generally a good idea to describe the
> problem you are trying to solve to see if others have a better solution.

Yes, thank you very much for pointing it out and helping to resolve this
issue!

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/