Provided by: libhugetlbfs-dev_2.11-0ubuntu1_i386 bug


       get_huge_pages, free_huge_pages - Allocate and free hugepages


       #include <hugetlbfs.h>

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


       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.


              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.


       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.


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


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

                                October 8, 2008              GET_HUGE_PAGES(3)