Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       spu_create - Creer un nouveau contexte spu

SYNOPSIS

       #include <sys/types.h>
       #include <sys/spu.h>

       int spu_create(const char *pathname, int flags, mode_t mode);
       int spu_create(const char *pathname, int flags, mode_t mode,
                      int neighbor_fd);

DESCRIPTION

       L'appel  systeme  spu_create() est utilise sur les PowerPC disposant de
       l'architecture du  processeur  Cell  dans  le  but  d'acceder  aux  SPU
       (Synergistic Processor Units). Il cree un nouveau contexte logique pour
       un SPU dans pathname et renvoie le descripteur de fichier qui  lui  est
       associe.  pathname doit pointer vers un repertoire qui n'existe pas sur
       le point de montage du systeme de fichiers SPU (spufs). Si spu_create()
       reussit,  un  repertoire  est  cree dans pathname et est rempli par les
       fichiers decrits dans spufs(7).

       Lorsqu'un contexte est cree, le descripteur de fichier renvoye ne  peut
       qu'etre  passe  a  spu_run(2),  utilise  comme parametre dirfd pour les
       appels systeme de la famille *at (par exemple, openat(2)),  ou  ferme ;
       d'autres  operations  ne sont pas definies. Un contexte logique SPU est
       detruit (avec tous les fichiers crees dans le  repertoire  pathname  du
       contexte)  lorsque  la  derniere reference au contexte a disparu ; cela
       survient generalement lorsque le descripteur  de  fichier  renvoye  par
       spu_create() est ferme.

       Le parametre flags vaut zero ou une combinaison par un OU bit a bit des
       options suivantes :

       SPU_CREATE_EVENTS_ENABLED
              Plutot que d'utiliser des signaux pour signaler des erreurs DMA,
              utiliser l'argument event de spu_run(2).

       SPU_CREATE_GANG
              Creer  un gang SPU plutot qu'un contexte. (Un gang est un groupe
              de contextes SPU qui sont en relation fonctionnelle entre eux et
              qui   partagent   des  parametres  d'ordonnancement  communs  --
              priorite et politique. Dans le futur, l'ordonnancement de  gangs
              pourra  etre implemente faisant que le groupe soit commute comme
              une unite simple.)

              Un  nouveau  repertoire  sera  cree  a  l'endroit  specifie  par
              l'argument  pathname.  Le  gang  peut  etre  utilise  pour tenir
              d'autres contextes en fournissant un nom de chemin  qui  soit  a
              l'interieur  du  repertoire du gang pour des appels ulterieurs a
              spu_create().

       SPU_CREATE_NOSCHED
              Cree un contexte qui ne soit pas affecte par l'ordonnanceur SPU.
              Une  fois  que  le contexte est lance, il ne sera pas deplanifie
              jusqu'a ce qu'il soit detruit par le processus createur.

              Parce que le contexte ne peut  pas  etre  supprime  de  la  SPU,
              certaines   fonctionnalites   sont   desactivees  des  contextes
              SPU_CREATE_NOSCHED.  Seul  un  sous-ensemble  de  fichiers  sera
              disponible  dans  le  repertoire  du  contexte sur le systeme de
              fichiers spufs. De plus,  les  contextes  SPU_CREATE_NOSCHED  ne
              peuvent pas creer de fichier de vidage lors d'un plantage.

              La   creation   de  contextes  SPU_CREATE_NOSCHED  necessite  la
              capacite CAP_SYS_NICE.

       SPU_CREATE_ISOLATE
              Cree un contexte SPU isole. Les contextes isoles  sont  proteges
              de  certaines operations PPE (PowerPC Processing Element), comme
              l'acces au stockage local de la SPU ou au registre NPC.

              La creation de contextes SPU_CREATE_ISOLATE necessite  egalement
              l'attribut SPU_CREATE_NOSCHED.

       SPU_CREATE_AFFINITY_SPU
              Cree  un contexte avec l'affinite d'un autre contexte SPU. Cette
              information   d'affinite   est   utilisee   dans    l'algorithme
              d'ordonnancement du SPU. L'utilisation de cet attribut necessite
              que le descripteur de fichier referencant l'autre  contexte  SPU
              soit passe dans l'argument neighbor_fd.

       SPU_CREATE_AFFINITY_MEM
              Cree  un  contexte  avec l'affinite de la memoire systeme. Cette
              information   d'affinite   est   utilisee   dans    l'algorithme
              d'ordonnancement du SPU.

       Le  parametre  mode  (moins  les  bits  positionnes  dans l'umask(2) du
       processus) specifie les permissions utilisees  pour  creer  le  nouveau
       repertoire sur le systeme de fichiers spufs. Consultez stat(2) pour une
       liste complete des valeurs de mode.

VALEUR RENVOY'EE

       S'il reussit, spu_create() renvoie un nouveau descripteur  de  fichier.
       En  cas  d'erreur,  il  renvoie  -1  et  errno  contient l'un des codes
       d'erreur listes ci-dessous.

ERREURS

       EACCES L'utilisateur en cours n'a pas acces  au  point  de  montage  du
              spufs(7).

       EEXIST Un contexte SPU existe deja dans le chemin fourni.

       EFAULT pathname  n'est  pas un pointeur de chaine valable dans l'espace
              d'adresses du processus appelant.

       EINVAL pathname  n'est  pas  un  repertoire  du  point  de  montage  du
              spufs(7), ou des options non valables ont ete fournies.

       ELOOP  Trop  de  liens  symboliques  trouves  lors  de la resolution de
              pathname.

       EMFILE Le processus a atteint sa limite du nombre de fichiers ouverts.

       ENAMETOOLONG
              pathname est trop long.

       ENFILE Le systeme a atteint la limite globale  du  nombre  de  fichiers
              ouverts.

       ENODEV Un contexte isole a ete demande mais le materiel ne prend pas en
              charge l'isolation SPU.

       ENOENT Une partie de pathname n'a pas pu etre resolue.

       ENOMEM Le noyau n'a pas pu allouer toutes les ressources necessaires.

       ENOSPC Il n'y a pas suffisamment de  ressources  SPU  disponibles  pour
              creer   un   nouveau   contexte   ou   la  limite  specifique  a
              l'utilisateur du nombre de contextes SPU a ete atteinte.

       ENOSYS La fonctionnalite n'est par fournie par le systeme actuel  parce
              que  le  materiel  ne  fournit pas de SPU ou parce que le module
              spufs n'est pas charge.

       ENOTDIR
              Un element du chemin d'acces pathname n'est pas un repertoire.

       EPERM  L'attribut SPU_CREATE_NOSCHED a ete  fourni  mais  l'utilisateur
              n'a pas la capacite CAP_SYS_NICE.

FICHIERS

       pathname doit pointer vers un emplacement du point de montage du spufs,
       qui est monte par convention dans /spu.

VERSIONS

       L'appel systeme spu_create() est apparu dans Linux 2.6.16.

CONFORMIT'E

       Cet appel systeme est specifique a Linux et implemente  uniquement  sur
       l'architecture  PowerPC.  Les  programmes  qui  l'utilisent ne sont pas
       portables.

NOTES

       La glibc ne fournit pas de fonction pour cet appel  systeme :  utilisez
       syscall(2)  pour  l'appeler. Notez cependant que spu_create() est concu
       pour  etre  appele  depuis  des  bibliotheques  qui  implementent   une
       interface plus abstraite pour les SPU, pas pour etre appele directement
       par        les         applications         normales.         Consultez
       http://www.bsc.es/projects/deepcomputing/linuxoncell/      pour     les
       bibliotheques recommandees.

EXEMPLE

       Consultez spu_run(2) pour un exemple d'utilisation de spu_create()

VOIR AUSSI

       close(2), spu_run(2), capabilities(7), spufs(7)

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

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

       Julien   Cristau   et   l'equipe   francophone   de    traduction    de
       Debian (2006-2009).

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

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

Linux                          20 decembre 2007                  SPU_CREATE(2)