Provided by: manpages-fr-dev_4.13-4_all bug

NOM

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

SYNOPSIS

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

       int free_hugepages(void *addr);

DESCRIPTION

       Les  appels système alloc_hugepages() et free_hugepages() ont été introduits dans Linux 2.5.36 et retirés
       à  nouveau  dans  le  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 du segment alloué, et free_hugepages() renvoie zéro.  En
       cas d'erreur, ils renvoient -1 et remplissent errno avec le code d'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.

CONFORMITÉ

       Cet appel système est spécifique à Linux sur processeurs Intel, et ne doit  pas  être  employé  dans  des
       programmes destinés à être portables.

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.

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions pour signaler des anomalies et la dernière version de cette page  peuvent  être  trouvées  à
       l'adresse https://www.kernel.org/doc/man-pages/.

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.

Linux                                           15 septembre 2017                             ALLOC_HUGEPAGES(2)