On Wed, 22 Jul 2015, Mike Kravetz wrote: > On 07/21/2015 05:41 PM, David Rientjes wrote: > > munmap(2) will fail with an errno of EINVAL for hugetlb memory if the > > length is not a multiple of the underlying page size. > > > > Documentation/vm/hugetlbpage.txt was updated to specify this behavior > > since Linux 4.1 in commit 80d6b94bd69a ("mm, doc: cleanup and clarify > > munmap behavior for hugetlb memory"). > > > > Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> > > --- > > man2/mmap.2 | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/man2/mmap.2 b/man2/mmap.2 > > --- a/man2/mmap.2 > > +++ b/man2/mmap.2 > > @@ -383,6 +383,10 @@ All pages containing a part > > of the indicated range are unmapped, and subsequent references > > to these pages will generate > > .BR SIGSEGV . > > +An exception is when the underlying memory is not of the native page > > +size, such as hugetlb page sizes, whereas > > +.I length > > +must be a multiple of the underlying page size. > > It is not an error if the > > indicated range does not contain any mapped pages. > > .SS Timestamps changes for file-backed mappings > > > > -- > > Should we also add a similar comment for the mmap offset? Currently > the man page says: > > "offset must be a multiple of the page size as returned by > sysconf(_SC_PAGE_SIZE)." > > For hugetlbfs, I beieve the offset must be a multiple of the > hugetlb page size. A similar comment/exception about using > the "underlying page size" would apply here as well. > Yes, that makes sense, thanks. We should also explicitly say that mmap(2) automatically aligns length to be hugepage aligned if backed by hugetlbfs. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>