Man page - alloc_hugepages(2)

Packages contains this manual

Available languages:

en fr es ja ru ro

Manual

alloc_hugepages

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
FICHIERS
STANDARDS
HISTORIQUE
NOTES
TRADUCTION

NOM

alloc_hugepages, free_hugepages - Allouer ou libérer des pages immenses

SYNOPSIS

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 : la glibc ne fournit pas de fonction autour de cet appel systùme, l’utilisation de syscall (2) est requise.

DESCRIPTION

Les appels systĂšme alloc_hugepages () et free_hugepages () ont Ă©tĂ© introduits dans Linux 2.5.36 et retirĂ©s Ă  nouveau dans Linux 2.5.54. Ils n’existaient que sur i386 et ia64 (compilation avec l’option CONFIG_HUGETLB_PAGE ). Dans Linux 2.4.20, le numĂ©ro d’appel systĂšme existe mais l’appel renvoie toujours ENOSYS .

Sur un i386, le mĂ©canisme matĂ©riel de gestion mĂ©moire connaĂźt des pages ordinaires (4 Kio) et des pages immenses (2 Ă  4 Mio). De mĂȘme, l’ia64 connaĂźt des pages immenses de diverses tailles. Ces appels systĂšme servent Ă  projeter ces pages immenses dans l’espace mĂ©moire du processus ou Ă  les libĂ©rer. Les pages immenses sont verrouillĂ©es en mĂ©moire et jamais swappĂ©es.

Le paramĂštre key est un identifiant. Lorsqu’il vaut zĂ©ro, les pages sont privĂ©es et non hĂ©ritĂ©es par les processus descendants. Lorsqu’il est positif, les pages sont partagĂ©es avec les autres applications utilisant la mĂȘme key , et hĂ©ritĂ©es par les processus enfants.

Le paramĂštre addr de free_hugepages () indique quelle page doit ĂȘtre libĂ©rĂ©e — il a Ă©tĂ© renvoyĂ© lors de l’appel alloc_hugepages (). (La mĂ©moire n’est vĂ©ritablement libĂ©rĂ©e que lorsque tous ses utilisateurs la relĂąchent). Le paramĂštre addr de alloc_hugepages () est un dĂ©sir que le noyau peut suivre ou non. Les adresses doivent ĂȘtre correctement alignĂ©es.

Le paramĂštre len est la taille du segment dĂ©sirĂ©. Il doit s’agir d’un multiple de la taille d’une page immense.

Le paramùtre prot indique le type de protection du segment. Il s’agit d’une association de PROT_READ , PROT_WRITE , PROT_EXEC .

Le paramĂštre flag est ignorĂ©, sauf si key est positif. Dans ce cas, si flag vaut IPC_CREAT , alors un nouveau segment de page immense est créé si aucun n’existe avec cette clĂ©. Sinon, l’erreur ENOENT est renvoyĂ© si aucun segment correspondant Ă  la clĂ© n’existe.

VALEUR RENVOYÉE

S’il rĂ©ussit alloc_hugepages () renvoie l’adresse virtuelle allouĂ©e et free_hugepages () renvoie zĂ©ro. En cas d’erreur, ils renvoient -1 et errno est positionnĂ© pour indiquer l’erreur.

ERREURS

ENOSYS

L’appel systĂšme n’est pas supportĂ© par ce noyau.

FICHIERS

/proc/sys/vm/nr_hugepages

Nombre de pages immenses configurĂ©es. Peut ĂȘtre lu ou Ă©crit.

/proc/meminfo

Indique le nombre de pages immenses configurées, et leurs tailles dans les trois variables HugePages_Total, HugePages_Free, Hugepagesize.

STANDARDS

Linux sur les processeurs Intel

HISTORIQUE

Ces appels systùme ont disparu ; ils n’existaient qu’entre Linux 2.5.36 et 2.5.54.

NOTES

Maintenant, le systĂšme de fichiers hugetblfs peut ĂȘtre employĂ© Ă  leur place. La mĂ©moire correspondant aux pages immenses (si le processeur les supporte) peut ĂȘtre obtenue par un mmap (2) des fichiers de ce systĂšme de fichiers virtuel.

Le nombre maximal de pages immenses peut ĂȘtre indiquĂ© en utilisant l’argument hugepages= au dĂ©marrage.

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .