memfd_create.2: Add description of MFD_HUGETLB (hugetlbfs) support

hugetlbfs support for memfd_create() was recently merged by Linus
and should be in the Linux 4.14 release.  To request hugetlbfs
support a new memfd_create() flag (MFD_HUGETLB) was added.

This patch documents the following commit:

commit 749df87bd7bee5a79cef073f5d032ddb2b211de8
Author: Mike Kravetz <mike.kravetz@oracle.com>
Date:   Wed Sep 6 16:24:16 2017 -0700

    mm/shmem: add hugetlbfs support to memfd_create()

Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Mike Kravetz 2017-09-15 14:43:05 -07:00 committed by Michael Kerrisk
parent db419c969a
commit ce7fa2be52
1 changed files with 27 additions and 0 deletions

View File

@ -100,6 +100,33 @@ If this flag is not set, the initial set of seals will be
meaning that no other seals can be set on the file.
.\" FIXME Why is the MFD_ALLOW_SEALING behavior not simply the default?
.\" Is it worth adding some text explaining this?
.TP
.BR MFD_HUGETLB " (since Linux 4.14)"
The anonymous file will be created in the hugetlbfs filesystem using
huge pages. See the Linux kernel source file
.I Documentation/vm/hugetlbpage.txt
for more information about hugetlbfs. The hugetlbfs filesystem does
not support file sealing operations. Therefore, specifying both
.B MFD_HUGETLB
and
.B MFD_ALLOW_SEALING
will result in an error
.RB (EINVAL)
being returned.
.TP
.BR MFD_HUGE_2MB ", " MFD_HUGE_1GB ", " "..."
Used in conjunction with
.B MFD_HUGETLB
to select alternative hugetlb page sizes (respectively, 2 MB, 1 GB, ...)
on systems that support multiple hugetlb page sizes. Definitions for known
huge page sizes are included in the header file
.I <sys/memfd.h>.
For details on encoding huge page sizes not included in the header file,
see the discussion of the similarly named constants in
.BR mmap (2).
.PP
Unused bits in
.I flags