logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

get_huge_pages, free_huge_pages - Allocate and free hugepages

Authors

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

                                                 October 8, 2008                               GET_HUGE_PAGES(3)

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.

Name

       get_huge_pages, free_huge_pages - Allocate and free hugepages

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)

Synopsis

#include<hugetlbfs.h>void*get_huge_pages(size_tlen,ghp_tflags);voidfree_huge_pages(void*ptr);

See Also