Provided by: manpages-fr-dev_4.19.0-7_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

       Ces anciens appels système étaient spécifiques à Linux sur les processeurs Intel..

NOTES

       Ces  appels  système  ont  disparu ;  ils  n'existaient  qu'entre  Linux 2.5.36 et 2.5.54.
       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⟩.