alloc_hugepages(2) | System Calls Manual | alloc_hugepages(2) |
NOMBRE
alloc_hugepages, free_hugepages - asigna o libera páginas de gran tamaño
SINOPSIS
void *syscall(SYS_alloc_hugepages, int key, void addr[.len], size_t len, int prot, int flag); int syscall(SYS_free_hugepages, void *addr);
Note: glibc provides no wrappers for these system calls, necessitating the use of syscall(2).
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 compilaba con 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 argumento 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.
The addr argument of free_hugepages() tells which page is being freed: it was the return value of a call to alloc_hugepages(). (The memory is first actually freed when all users have released it.) The addr argument of alloc_hugepages() is a hint, that the kernel may or may not follow. Addresses must be properly aligned.
El parámetro len es la longitud del segmento requerido. Debe ser un múltiplo del tamaño de la página gigante.
El parámetro prot especifica la protección de memoria del segmento. Puede ser PROT_READ, PROT_WRITE o bien PROT_EXEC.
The flag argument is ignored, unless key is positive. In that case, if flag is IPC_CREAT, then a new huge page segment is created when none with the given key existed. If this flag is not set, then ENOENT is returned when no segment with the given key exists.
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 define errno para indicar el tipo de error.
ERRORES
- ENOSYS
- La llamada al sistema no está soportada por este núcleo.
ARCHIVOS
- /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.
ESTÁNDARES
Linux on Intel processors.
HISTORIAL
These system calls are gone; they existed only in Linux 2.5.36 through to Linux 2.5.54.
NOTAS
Now the hugetlbfs filesystem can be used instead. Memory backed by huge pages (if the CPU supports them) is obtained by using mmap(2) to map files in this virtual filesystem.
El número máximo de páginas grandes puede especificarse usando el parámetro hugepages= en el arranque.
TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars <mpi79470@alu.um.es> y Marcos Fouces <marcos@debian.org>
Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.
2 Mayo 2024 | Páginas de Manual de Linux 6.8 |