Skip to content

Commit 492e05b

Browse files
committed
tools: Update asm-generic/mman-common.h copy from the kernel
To get the defines introduced in the commit aafd456 ("mm: arch: consolidate mmap hugetlb size encodings"), that doesn't brings anything interesting for tools/, but also the ones from d2cd9ed ("mm,fork: introduce MADV_WIPEONFORK"), which does, and ends up triggering an auto-update to the tools/perf/trace/beauty/generated/madvise_behavior_array.c file, supporting the newly introduced 'behavior' values. This silences this perf build warning: Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/mman-common.h' differs from latest version at 'include/uapi/asm-generic/mman-common.h' Testing it: # cat madvise.c #include <sys/mman.h> #include <stdlib.h> #ifndef MADV_WIPEONFORK #define MADV_WIPEONFORK 18 #endif #ifndef MADV_KEEPONFORK #define MADV_KEEPONFORK 19 #endif int main(void) { void *ptr = mmap(NULL, 4096, PROT_NONE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); madvise(ptr, 4096, MADV_WIPEONFORK); madvise(ptr, 4096, MADV_KEEPONFORK); return 0; } [root@jouet c]# perf trace -e mmap,madvise ./madvise 0.000 ( 0.013 ms): madvise/11732 mmap(len: 8192, prot: READ|WRITE, flags: PRIVATE|ANONYMOUS ) = 0x7fba6e015000 0.047 ( 0.004 ms): madvise/11732 mmap(len: 160164, prot: READ, flags: PRIVATE, fd: 3 ) = 0x7fba6dfed000 0.084 ( 0.009 ms): madvise/11732 mmap(len: 4000096, prot: EXEC|READ, flags: PRIVATE|DENYWRITE, fd: 3 ) = 0x7fba6da20000 0.109 ( 0.006 ms): madvise/11732 mmap(addr: 0x7fba6dde7000, len: 24576, prot: READ|WRITE, flags: PRIVATE|DENYWRITE|FIXED, fd: 3, off: 1863680) = 0x7fba6dde7000 0.125 ( 0.004 ms): madvise/11732 mmap(addr: 0x7fba6dded000, len: 14688, prot: READ|WRITE, flags: PRIVATE|ANONYMOUS|FIXED) = 0x7fba6dded000 0.150 ( 0.006 ms): madvise/11732 mmap(len: 12288, prot: READ|WRITE, flags: PRIVATE|ANONYMOUS ) = 0x7fba6dfea000 0.288 ( 0.003 ms): madvise/11732 mmap(len: 4096, flags: PRIVATE|ANONYMOUS ) = 0x7fba6e014000 0.292 ( 0.002 ms): madvise/11732 madvise(start: 0x7fba6e014000, len_in: 4096, behavior: MADV_WIPEONFORK) = 0 0.295 ( 0.001 ms): madvise/11732 madvise(start: 0x7fba6e014000, len_in: 4096, behavior: MADV_KEEPONFORK) = 0 # uname -a Linux jouet 4.13.0+ #2 SMP Mon Sep 18 17:22:46 -03 2017 x86_64 x86_64 x86_64 GNU/Linux # Cc: Adrian Hunter <[email protected]> Cc: David Ahern <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Mike Kravetz <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Rik van Riel <[email protected]> Cc: Wang Nan <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
1 parent 5a54c2f commit 492e05b

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

tools/include/uapi/asm-generic/mman-common.h

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,20 +58,12 @@
5858
overrides the coredump filter bits */
5959
#define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag */
6060

61+
#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */
62+
#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */
63+
6164
/* compatibility flags */
6265
#define MAP_FILE 0
6366

64-
/*
65-
* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size.
66-
* This gives us 6 bits, which is enough until someone invents 128 bit address
67-
* spaces.
68-
*
69-
* Assume these are all power of twos.
70-
* When 0 use the default page size.
71-
*/
72-
#define MAP_HUGE_SHIFT 26
73-
#define MAP_HUGE_MASK 0x3f
74-
7567
#define PKEY_DISABLE_ACCESS 0x1
7668
#define PKEY_DISABLE_WRITE 0x2
7769
#define PKEY_ACCESS_MASK (PKEY_DISABLE_ACCESS |\

0 commit comments

Comments
 (0)