mirror of https://github.com/mkerrisk/man-pages
proc.5: Document /proc/sys/vm/sysctl_hugetlb_shm_group
As a deprecated feature, it appears that the RLIMIT_MEMLOCK can also be used to permit huge page allocation, but let's not document that for now. In the Linux 5.12, see fs/hugetlbfs/inode.c. static int can_do_hugetlb_shm(void) { kgid_t shm_group; shm_group = make_kgid(&init_user_ns, sysctl_hugetlb_shm_group); return capable(CAP_IPC_LOCK) || in_group_p(shm_group); } ... struct file *hugetlb_file_setup(const char *name, size_t size, vm_flags_t acctflag, struct user_struct **user, int creat_flags, int page_size_log) { ... if (creat_flags == HUGETLB_SHMFS_INODE && !can_do_hugetlb_shm()) { *user = current_user(); if (user_shm_lock(size, *user)) { task_lock(current); pr_warn_once("%s (%d): Using mlock ulimits for SHM_HUGETLB is deprecated\n", current->comm, current->pid); task_unlock(current); } else { *user = NULL; return ERR_PTR(-EPERM); } } ... } Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
3dcdef9437
commit
6cee0ddeb4
13
man5/proc.5
13
man5/proc.5
|
@ -5603,6 +5603,19 @@ user should run
|
||||||
.BR sync (1)
|
.BR sync (1)
|
||||||
first.
|
first.
|
||||||
.TP
|
.TP
|
||||||
|
.IR /proc/sys/vm/sysctl_hugetlb_shm_group " (since Linux 2.6.7)"
|
||||||
|
This writable file contains a group ID that is allowed
|
||||||
|
to allocate memory using huge pages.
|
||||||
|
If a process has a filesystem group ID or any supplememtary group ID that
|
||||||
|
matches this group ID,
|
||||||
|
then it can make huge-page allocations without holding the
|
||||||
|
.BR CAP_IPC_LOCK
|
||||||
|
capability; see
|
||||||
|
.BR memfd_create (2),
|
||||||
|
.BR mmap (2),
|
||||||
|
and
|
||||||
|
.BR shmget (2).
|
||||||
|
.TP
|
||||||
.IR /proc/sys/vm/legacy_va_layout " (since Linux 2.6.9)"
|
.IR /proc/sys/vm/legacy_va_layout " (since Linux 2.6.9)"
|
||||||
.\" The following is from Documentation/filesystems/proc.txt
|
.\" The following is from Documentation/filesystems/proc.txt
|
||||||
If nonzero, this disables the new 32-bit memory-mapping layout;
|
If nonzero, this disables the new 32-bit memory-mapping layout;
|
||||||
|
|
Loading…
Reference in New Issue