[PATCH v2 0/3] perf report: Recognize hugetlb mapping as anon mapping

From: Wang Nan
Date: Tue Sep 06 2016 - 00:59:45 EST


The requirement of this function is first proposed at 2015.
Please refer to

http://lkml.iu.edu/hypermail/linux/kernel/1506.2/02372.html
http://lkml.iu.edu/hypermail/linux/kernel/1506.3/02290.html
http://lkml.iu.edu/hypermail/linux/kernel/1506.3/03512.html

For systems which use hugetlbfs, if a sample is captured inside
hugetlbfs, perf should not resolve symbols from the file shown in
/prof/<pid>/mmap, because 'files' in hugetlbfs are constructed
during execution and not ELF files. If user knows positions of
symbols, he/she should provide /tmp/perf-<pid>.map file.

This 3 patches makes perf recognize hugetlbfs mapping as anon mapping.
Before this 3 patches user has no chance to use his/her own .map file
to resolve symbols because perf tries to use hugetlbfs file.

v1 -> v2: Fix building when MAP_HUGETLB is missing.
Note that simply define a MAP_HUGETLB not work because
its value depend on arch. This patch v2 disable this
'hugetlbfs as as anon mapping' feature if it is built
in very old system.

Wang Nan (3):
perf tools: Recognize hugetlb mapping as anon mapping
tools lib api fs: Add hugetlbfs filesystem detector
perf record: Mark MAP_HUGETLB during synthesizing mmap events

tools/lib/api/fs/fs.c | 15 +++++++++++++++
tools/lib/api/fs/fs.h | 1 +
tools/perf/util/event.c | 11 +++++++++++
tools/perf/util/map.c | 13 ++++++++++---
4 files changed, 37 insertions(+), 3 deletions(-)

Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
Cc: Hou Pengyang <houpengyang@xxxxxxxxxx>
Cc: He Kuang <hekuang@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Nilay Vaish <nilayvaish@xxxxxxxxx>

--
1.8.3.4