Provided by: libhugetlbfs-dev_2.22-1_amd64 bug

NAME

       get_huge_pages, free_huge_pages - Allocate and free hugepages

SYNOPSIS

       #include <hugetlbfs.h>

       void *get_huge_pages(size_t len, ghp_t flags);
       void free_huge_pages(void *ptr);

DESCRIPTION

       get_huge_pages()  allocates  a  memory  region  len  bytes  in  size  backed by hugepages.
       Hugepages may be of benefit to applications that use large amounts of  address  space  and
       suffer  a   performance hit  due to  TLB misses.  Wall-clock  time or oprofile can be used
       to determine if there is a performance benefit from using hugepages or not.

       The len parameter must be  hugepage-aligned.  In  the  current  implementation,  only  the
       default  hugepage size may be allocated via this function. Use gethugepagesize to discover
       what the alignment should be.

       The flags argument changes the behaviour of the function. Flags may be or'd together.

       GHP_DEFAULT

              Allocate a region of memory of the requested length  backed  by  hugepages  of  the
              default hugepage size. Return NULL if sufficient pages are not available

       free_huge_pages() frees a region of memory allocated by get_huge_pages(). The behaviour of
       the function if another pointer is used, valid or otherwise, is undefined.

RETURN VALUE

       On success, a pointer is returned to the allocated memory. On  error,  NULL  is  returned.
       errno will be set based on what the failure of mmap() was due to.

SEE ALSO

       oprofile(1) , gethugepagesize(3) , get_hugepage_region(3) , libhugetlbfs(7)

AUTHORS

       libhugetlbfs was written by various people on the libhugetlbfs-devel mailing list.

                                         October 8, 2008                        GET_HUGE_PAGES(3)