Provided by: manpages-fr-dev_3.65d1p1-1_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 manipule des pages ordinaires (4 Ko)
       et  des  pages immenses (2 à 4 Mo). 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 3.65 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe    Blaess    <http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».