gethugepagesizes - Get the system supported huge page sizes
#include <hugetlbfs.h>
int gethugepagesizes(long pagesizes[], int n_elem);
The gethugepagesizes() function returns either the number of system supported
huge page sizes or the sizes themselves. If
pagesizes is NULL and
n_elem is 0, then the number of huge pages the system supports is
returned. Otherwise,
pagesizes is filled with at most
n_elem
page sizes.
On success, either the number of huge page sizes supported by the system or the
number of huge page sizes stored in pagesizes is returned. On failure, -1 is
returned and errno is set appropriately.
- EINVAL
-
n_elem is less than zero or n_elem is greater
than zero and pagesizes is NULL.
Also see
opendir(3) for other possible values for errno. This error occurs when
the sysfs directory exists but cannot be opened.
This call will return all huge page sizes as reported by the kernel. Not all of
these sizes may be usable by the programmer since mount points may not be
available for all sizes. To test whether a size will be usable by
libhugetlbfs, hugetlbfs_find_path_for_size() can be called on a
specific size to see if a mount point is configured.
oprofile(1),
opendir(3),
hugetlbfs_find_path_for_size(3),
libhugetlbfs(7)
libhugetlbfs was written by various people on the libhugetlbfs-devel mailing
list.