Provided by: manpages-es_1.55-8_all bug

NOMBRE

       alloc_hugepages,  free_hugepages  -  asigna  o  libera  páginas de gran
       tamaño

SINOPSIS

       void *alloc_hugepages(int key, void *addr, size_t len,  int  prot,  int
       flag);

       int free_hugepages(void *addr);

DESCRIPCIÓN

       Las   llamadas  al  sistema  alloc_hugepages  y  free_hugepages  fueron
       introducidas en Linux 2.5.36  y  eliminadas  de  nuevo  en  la  versión
       2.5.54.   Existían  sólo  para  arquitecturas  i386  e  ia64 (cuando se
       encontraba la opción CONFIG_HUGETLB_PAGE).  En Linux 2.4.20 existen los
       números  de  las  llamadas  al  sistemas,  pero  las llamadas devuelven
       ENOSYS.

       En la arquitectura i386 el hardware de gestión  de  la  memoria  maneja
       páginas  ordinarias  (4  KiB)  y páginas grandes (2 o 4 MiB). De manera
       similar, la arquitectura  ia64  maneja  páginas  grandes  de  distintos
       tamaños.  Estas  llamadas al sistema sirven para ubicar páginas de gran
       tamaño en la memoria  del  proceso  o  para  liberarlas.   Las  páginas
       grandes están fijas en memoria, y no son intercambiadas (swapped).

       El  parámetro  key  es un identificador. Cuando es cero las páginas son
       privadas, y no son heredadas por los hijos.   Cuando  es  positivo  las
       páginas   son  compartidas  con  otras  aplicaciones  usando  el  mismo
       identificador key, y heredadas por los procesos hijo.

       El parámetro addr de free_hugepages() indica  qué  página  está  siendo
       liberada  -  es  el valor devuelto por una llamada a alloc_hugepages().
       (La memoria es realmente liberada por  primera  vez  cuando  todos  los
       usuarios  la  han liberado.)  El parámetro addr de alloc_hugepages() es
       una sugerencia, que el núcleo puede o no puede tomar.  Las  direcciones
       deben estar debidamente alineadas.

       El  parámetro  len  es  la longitud del segmento requerido. Debe ser un
       múltiplo del tamaño de la página grande.

       El parámetro prot especifica la protección  de  memoria  del  segmento.
       Puede ser PROT_READ, PROT_WRITE, PROT_EXEC.

       El  parámetro  flag  es  ignorado, a menos que key sea positivo. En tal
       caso, si flag es IPC_CREAT, se crea un nuevo segmento de página  grande
       cuando  no  existe ninguno con el identificador dado. Si esta opción no
       está activa, se devuelve ENOENT cuando no existe tal segmento.

VALOR DEVUELTO

       En  caso  de  éxito,  alloc_hugepages  devuelve  la  dirección  virtual
       asignada, y free_hugepages devuelve cero. En caso de error, se devuelve
       -1, y se modifica errno con el valor apropiado.

ERRORES

       ENOSYS La llamada al sistema no está soportada por este núcleo.

CONFORME A

       Esta llamadas existían sólo en Linux 2.5.36 - 2.5.54.   Estas  llamadas
       son  específicas  de  Linux  para procesadores Intel, y no deberían ser
       usadas en programas portables. De hecho, los números de las llamadas al
       sistema  están marcados para ser reutilizados, por lo que los programas
       que las  usen  pueden  comportarse  de  manera  aleatoria  con  núcleos
       futuros.

FICHEROS

       /proc/sys/vm/nr_hugepages   Número  de  páginas  hugetlb  configuradas.
       Puede ser leído y escrito.

       /proc/meminfo Proporciona información del  número  de  páginas  hugetlb
       configuradas  y  de  su  tamaño  en las tres variables HugePages_Total,
       HugePages_Free, Hugepagesize.

OBSERVACIONES

       Estas llamadas al sistema ya no existen. En la actualidad puede  usarse
       el  sistema  de ficheros hugetlbfs en su lugar. La memoria contenida en
       las páginas grandes  (si  la  CPU  las  soporta)  se  obtiene  ubicando
       ficheros en este sistema de ficheros virtual con mmap.

       El  número  máximo  de  páginas  grandes  puede especificarse usando el
       parámetro hugepages= en el arranque.