table of contents
- Tumbleweed 6.17-1.1
- Leap-16.0
| PR_SET_THP_DISABLE(2const) | PR_SET_THP_DISABLE(2const) |
NAME¶
PR_SET_THP_DISABLE - set the state of the "THP disable" flags for the calling thread
LIBRARY¶
Standard C library (libc, -lc)
SYNOPSIS¶
#include <linux/prctl.h> /* Definition of PR_* constants */ #include <sys/prctl.h>
int prctl(PR_SET_THP_DISABLE, long thp_disable, unsigned long flags,
0L, 0L);
DESCRIPTION¶
Set the state of the "THP disable" flags for the calling thread. If thp_disable has a nonzero value, the THP disable flag is set according to the value of flags, otherwise it is cleared.
This prctl(2) provides a method for disabling transparent huge pages for jobs where the code cannot be modified, and using a malloc(3) hook with madvise(2) is not an option (i.e., statically allocated data). The setting of the "THP disable" flags is inherited by a child created via fork(2) and is preserved across execve(2).
The behavior depends on the value of flags:
- 0
- The prctl(2) call will disable THPs completely for the process, irrespective of global THP controls or MADV_COLLAPSE.
- PR_THP_DISABLE_EXCEPT_ADVISED
- The prctl(2) call will disable THPs for the process except when the usage of THPs is advised. Consequently, THPs will only be used when:
- •
- Global THP controls are set to "always" or "madvise" and madvise(..., MADV_HUGEPAGE) or madvise(..., MADV_COLLAPSE) is used.
- •
- Global THP controls are set to "never" and madvise(..., MADV_COLLAPSE) is used. This is the same behavior as if THPs would not be disabled on a process level.
RETURN VALUE¶
On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.
STANDARDS¶
Linux.
HISTORY¶
Linux 3.15.
SEE ALSO¶
prctl(2), PR_GET_THP_DISABLE(2const)
| 2026-02-08 | Linux man-pages (unreleased) |