Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

free_huge_pages(3) [centos man page]

GET_HUGE_PAGES(3)					     Library Functions Manual						 GET_HUGE_PAGES(3)

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 func- tion. 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)

Check Out this Related Man Page

GET_HUGEPAGE_REGION(3)					     Library Functions Manual					    GET_HUGEPAGE_REGION(3)

NAME
get_hugepage_region, free_hugepage_region - Allocate and free regions of memory that use hugepages where possible SYNOPSIS
#include <hugetlbfs.h> void *get_hugepage_region(size_t len, ghr_t flags); void free_hugepage_region(void *ptr); DESCRIPTION
get_hugepage_region() 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. Unlike get_huge_pages(), len does not have to be hugepage-aligned although memory may be wasted due to alignment. The caller may also spec- ify that base pages be used in the event there are no hugepages available. The flags argument changes the behaviour of the function. Flags may be or'd together. GHR_FALLBACK Use base pages if there are an insufficient number of huge pages. GHR_STRICT Use hugepages or return NULL. GHR_COLOR When specified, bytes that would be wasted due to alignment are used to color the buffer by offsetting it by a random cacheline within the hugepage. This avoids a performance problem whereby multiple buffers use the same cache lines at the same offsets. If it is not important that the start of the buffer be page-aligned, specify this flag. GHR_DEFAULT The library chooses a sensible combination of flags for allocating a region of memory. The current default is: GHR_FALLBACK | GHR_COLOR free_hugepage_region() frees a region of memory allocated by get_hugepage_region(). The behaviour of the function if another pointer is used, valid or otherwise, is undefined. RETURN VALUE
On success, a pointer is returned for 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_huge_pages(3) , libhugetlbfs(7) AUTHORS
libhugetlbfs was written by various people on the libhugetlbfs-devel mailing list. November 7, 2008 GET_HUGEPAGE_REGION(3)
Man Page