PR_SET_THP_DISABLE(2const) — Linux manual page

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | STANDARDS | HISTORY | SEE ALSO | COLOPHON

PR_SET_THP_DISABLE(2const)                     PR_SET_THP_DISABLE(2const)

NAME         top

       PR_SET_THP_DISABLE - set the state of the "THP disable" flags for
       the calling thread

LIBRARY         top

       Standard C library (libc, -lc)

SYNOPSIS         top

       #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         top

       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         top

       On success, 0 is returned.  On error, -1 is returned, and errno is
       set to indicate the error.

STANDARDS         top

       Linux.

HISTORY         top

       Linux 3.15.

SEE ALSO         top

       prctl(2), PR_GET_THP_DISABLE(2const)

COLOPHON         top

       This page is part of the man-pages (Linux kernel and C library
       user-space interface documentation) project.  Information about
       the project can be found at 
       ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report
       for this manual page, see
       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
       This page was obtained from the tarball man-pages-6.18.tar.gz
       fetched from
       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
       2026-05-24.  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-
       to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to
       man-pages@man7.org

Linux man-pages 6.18            2026-02-08     PR_SET_THP_DISABLE(2const)

Pages that refer to this page: prctl(2)PR_GET_THP_DISABLE(2const)