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 <wangn...@huawei.com> Cc: Hou Pengyang <houpengy...@huawei.com> Cc: He Kuang <heku...@huawei.com> Cc: Arnaldo Carvalho de Melo <a...@redhat.com> Cc: Nilay Vaish <nilayva...@gmail.com> -- 1.8.3.4