Re: [PATCH] perf: Fallback to MAP__FUNCTION if daddr maps are NULL

From: Jiri Olsa
Date: Thu Aug 21 2014 - 03:05:00 EST


On Wed, Aug 20, 2014 at 11:25:11PM -0400, Don Zickus wrote:
> As we run "perf c2c" on more applications, we noticed we're missing significant
> samples from a common customer's application. Looking at the
> /proc/<pid>/maps file for the app, we see "rwxs" and "rwxp" permissions on many
> of the shared memory & heap regions, and on all the thread stacks.
>
> Because those regions have the "x" bit set, perf marks them with a MAP_FUNCTION
> type. Hence ip_resolve_data() never finds load or store events coming from
> them.
>
> We fixed this by re-calling thread__find_addr_location with MAP__FUNCTION in
> the case where map is NULL as a last ditch effort to map the sample before
> giving up and dropping it.
>
> Reported-by: Joe Mario <jmario@xxxxxxxxxx>
> Tested-by: Joe Mario <jmario@xxxxxxxxxx>
> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka
--
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/