perf trace: Support MAP_FIXED_NOREPLACE
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 4e5c01a7c746130033eb6e7153b346b8ca61e7a5 Gitweb: https://git.kernel.org/tip/4e5c01a7c746130033eb6e7153b346b8ca61e7a5 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Mon, 16 Apr 2018 16:39:38 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 18 Apr 2018 15:34:52 -0300
perf trace: Support MAP_FIXED_NOREPLACE
Introduced in a4ff8e8620d3 ("mm: introduce MAP_FIXED_NOREPLACE"), and now that we have that define in the just syncronized tools/arch/*/include/uapi/asm/mman.h files, add support for it.
This should really transition to autogeneration of string tables as done for various other things:
$ ls /tmp/build/perf/trace/beauty/generated/*.c
arch_errno_name_array.c kcmp_type_array.c madvise_behavior_array.c
pkey_alloc_access_rights_array.c prctl_option_array.c
$ head /tmp/build/perf/trace/beauty/generated/madvise_behavior_array.c
static const char *madvise_advices[] = {
[0] = "NORMAL",
[1] = "RANDOM",
[2] = "SEQUENTIAL",
[3] = "WILLNEED",
[4] = "DONTNEED",
[8] = "FREE",
[9] = "REMOVE",
[10] = "DONTFORK",
[11] = "DOFORK",
$Till then, add support for this the old way.
Also it has to be ifdef'ed, because arches like mips still don't define it. The proper solution will be to have per-arch tables for these values to support cross-analysis.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Linus Torvalds <[email protected]>
Cc Michal Hocko <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signef-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/trace/beauty/mmap.c | 3 +++ 1 file changed, 3 insertions(+)
tools/perf/trace/beauty/mmap.c +3 -0
@@ -54,6 +54,9 @@ static size_t syscall_arg__scnprintf_mmap_flags(char *bf, size_t size,P_MMAP_FLAG (EXECUTABLE );P_MMAP_FLAG (FILE );P_MMAP_FLAG (FIXED ); +#ifdef MAP_FIXED_NOREPLACE +P_MMAP_FLAG (FIXED_NOREPLACE ); +#endif P_MMAP_FLAG (GROWSDOWN );P_MMAP_FLAG (HUGETLB );P_MMAP_FLAG (LOCKED );