From aafa4e0899402ee46d49723840c90837f16e9f4c Mon Sep 17 00:00:00 2001 From: David Rientjes Date: Wed, 8 Apr 2015 09:44:32 +1000 Subject: [PATCH] mm, doc: cleanup and clarify munmap behavior for hugetlb memory munmap(2) of hugetlb memory requires a length that is hugepage aligned, otherwise it may fail. Add this to the documentation. This also cleans up the documentation and separates it into logical units: one part refers to MAP_HUGETLB and another part refers to requirements for shared memory segments. Signed-off-by: David Rientjes Cc: Jonathan Corbet Cc: Davide Libenzi Cc: Luiz Capitulino Cc: Shuah Khan Acked-by: Hugh Dickins Cc: Andrea Arcangeli Cc: Joern Engel Cc: Jianguo Wu Cc: Eric B Munson Cc: Michael Ellerman Signed-off-by: Andrew Morton --- Documentation/vm/hugetlbpage.txt | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Documentation/vm/hugetlbpage.txt b/Documentation/vm/hugetlbpage.txt index b32b9cd50c0e..1270fb1ee715 100644 --- a/Documentation/vm/hugetlbpage.txt +++ b/Documentation/vm/hugetlbpage.txt @@ -302,15 +302,20 @@ file systems, write system calls are not. Regular chown, chgrp, and chmod commands (with right permissions) could be used to change the file attributes on hugetlbfs. -Also, it is important to note that no such mount command is required if the +Also, it is important to note that no such mount command is required if applications are going to use only shmat/shmget system calls or mmap with -MAP_HUGETLB. Users who wish to use hugetlb page via shared memory segment -should be a member of a supplementary group and system admin needs to -configure that gid into /proc/sys/vm/hugetlb_shm_group. It is possible for -same or different applications to use any combination of mmaps and shm* -calls, though the mount of filesystem will be required for using mmap calls -without MAP_HUGETLB. For an example of how to use mmap with MAP_HUGETLB see -map_hugetlb.c. +MAP_HUGETLB. For an example of how to use mmap with MAP_HUGETLB see map_hugetlb +below. + +Users who wish to use hugetlb memory via shared memory segment should be a +member of a supplementary group and system admin needs to configure that gid +into /proc/sys/vm/hugetlb_shm_group. It is possible for same or different +applications to use any combination of mmaps and shm* calls, though the mount of +filesystem will be required for using mmap calls without MAP_HUGETLB. + +When using munmap(2) to unmap hugetlb memory, the length specified must be +hugepage aligned, otherwise it will fail with errno set to EINVAL. + Examples ======== -- 2.39.5