Provided by: manpages-fr-dev_4.23.1-1_all bug

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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.