Man page - spu_create(2)

Packages contains this manual

Available languages:

en fr ja ru

Manual

spu_create

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
FICHIERS
STANDARDS
HISTORIQUE
NOTES
EXEMPLES
VOIR AUSSI
TRADUCTION

NOM

spu_create - Créer un nouveau contexte spu

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

#include <sys/spu.h> /* Définition des constantes SPU_* */
#include <sys/syscall.h>
/* Définition des constantes SYS_* */
#include <unistd.h>

int syscall(SYS_spu_create, const char * pathname , unsigned int flags ,
mode_t
mode , int neighbor_fd );

Remarque : la glibc ne fournit pas d’enveloppe pour spu_create (), imposant l’utilisation de syscall (2).

DESCRIPTION

L’appel systĂšme spu_create () est utilisĂ© sur les PowerPC disposant de l’architecture du processeur Cell (Cell Broadband Engine Architecture) dans le but d’accĂ©der aux SPU (Synergistic Processor Units). Il crĂ©e un nouveau contexte logique pour un SPU dans pathname et renvoie le descripteur de fichier qui lui est associĂ©. pathname doit pointer vers un rĂ©pertoire qui n’existe pas sur le point de montage du systĂšme de fichiers SPU ( spufs ). Si spu_create () rĂ©ussit, un rĂ©pertoire est créé dans pathname et est rempli par les fichiers dĂ©crits dans spufs (7).

Lorsqu’un contexte est créé, le descripteur de fichier renvoyĂ© ne peut qu’ĂȘtre passĂ© Ă  spu_run (2), utilisĂ© comme paramĂštre dirfd pour les appels systĂšme de la famille *at (par exemple, openat (2)), ou fermé ; d’autres opĂ©rations ne sont pas dĂ©finies. Un contexte logique SPU est dĂ©truit (avec tous les fichiers créés dans le rĂ©pertoire pathname du contexte) lorsque la derniĂšre rĂ©fĂ©rence au contexte a disparu ; cela survient gĂ©nĂ©ralement lorsque le descripteur de fichier renvoyĂ© par spu_create () est fermĂ©.

Le paramĂštre mode (sauf les bits positionnĂ©s dans l’ umask (2) du processus) indique les permissions utilisĂ©es pour crĂ©er le nouveau rĂ©pertoire sur le systĂšme de fichiers spufs . Consultez stat (2) pour une liste complĂšte des valeurs de mode .

L’argument neighbor_fd est utilisĂ© seulement quand l’attribut SPU_CREATE_AFFINITY_SPU est spĂ©cifié ; voir plus bas.

Le paramÚtre flags vaut zéro ou une combinaison par un OU bit à bit des options suivantes :
SPU_CREATE_EVENTS_ENABLED

Plutît que d’utiliser des signaux pour signaler des erreurs DMA, utiliser l’argument event de spu_run (2).

SPU_CREATE_GANG

CrĂ©er un gang SPU plutĂŽt qu’un contexte. (Un gang est un groupe de contextes SPU qui sont en relation fonctionnelle entre eux et qui partagent des paramĂštres d’ordonnancement communs — prioritĂ© et politique. Dans le futur, l’ordonnancement de gangs pourra ĂȘtre implĂ©mentĂ© faisant que le groupe soit mis en Ɠuvre ou non comme une unitĂ© simple.)

Un nouveau rĂ©pertoire sera créé Ă  l’endroit indiquĂ© par l’argument pathname . Le gang peut ĂȘtre utilisĂ© pour dĂ©tenir d’autres contextes SPU en fournissant un nom de chemin qui soit Ă  l’intĂ©rieur du rĂ©pertoire du gang pour des appels ultĂ©rieurs Ă  spu_create ().

SPU_CREATE_NOSCHED

CrĂ©er un contexte qui ne soit pas affectĂ© par l’ordonnanceur SPU. Une fois que le contexte est lancĂ©, il ne sera pas dĂ©planifiĂ© jusqu’à ce qu’il soit dĂ©truit par le processus crĂ©ateur.

Parce que le contexte ne peut pas ĂȘtre supprimĂ© de la SPU, certaines fonctionnalitĂ©s sont dĂ©sactivĂ©es des contextes SPU_CREATE_NOSCHED . Seul un sous-ensemble de fichiers sera disponible dans le rĂ©pertoire du contexte sur le systĂšme de fichiers spufs . De plus, les contextes SPU_CREATE_NOSCHED ne peuvent pas crĂ©er de fichier de vidage lors d’un plantage.

La création de contextes SPU_CREATE_NOSCHED nécessite la capacité CAP_SYS_NICE .

SPU_CREATE_ISOLATE

CrĂ©er un contexte SPU isolĂ©. Les contextes isolĂ©s sont protĂ©gĂ©s de certaines opĂ©rations PPE (PowerPC Processing Element), comme l’accĂšs au stockage local de la SPU ou au registre NPC.

La crĂ©ation de contextes SPU_CREATE_ISOLATE nĂ©cessite Ă©galement l’attribut SPU_CREATE_NOSCHED .

SPU_CREATE_AFFINITY_SPU (depuis Linux 2.6.23)

CrĂ©er un contexte avec une affinitĂ© pour un autre contexte SPU. Cette information d’affinitĂ© est utilisĂ©e dans l’algorithme d’ordonnancement du SPU. L’utilisation de cet attribut nĂ©cessite que le descripteur de fichier rĂ©fĂ©rençant l’autre contexte SPU soit passĂ© dans l’argument neighbor_fd .

SPU_CREATE_AFFINITY_MEM (depuis Linux 2.6.23)

CrĂ©er un contexte avec une affinitĂ© pour la mĂ©moire systĂšme. Cette information d’affinitĂ© est utilisĂ©e dans l’algorithme d’ordonnancement du SPU.

VALEUR RENVOYÉE

S’il rĂ©ussit, spu_create () renvoie un nouveau descripteur de fichier. En cas d’échec, il renvoie -1 et errno est dĂ©fini pour indiquer l’erreur.

ERREURS

EACCES

L’utilisateur en cours n’a pas accĂšs en Ă©criture sur le point de montage du spufs (7).

EEXIST

Un contexte SPU existe déjà dans le chemin fourni.

EFAULT

pathname n’est pas un pointeur de chaüne valable dans l’espace d’adresses du processus appelant.

EINVAL

pathname n’est pas un rĂ©pertoire du point de montage du spufs (7), ou des options non valables ont Ă©tĂ© fournies.

ELOOP

Trop de liens symboliques trouvés lors de la résolution de pathname .

EMFILE

La limite du nombre de descripteurs de fichiers par processus a été atteinte.

ENAMETOOLONG

nom_chemin est trop long.

ENFILE

La limite du nombre total de fichiers ouverts pour le systÚme entier a été atteinte.

ENODEV

Un contexte isolĂ© a Ă©tĂ© demandĂ©, mais le matĂ©riel ne prend pas en charge l’isolation SPU.

ENOENT

Une partie de pathname n’a pas pu ĂȘtre rĂ©solue.

ENOMEM

Le noyau n’a pas pu allouer toutes les ressources nĂ©cessaires.

ENOSPC

Il n’y a pas suffisamment de ressources SPU disponibles pour crĂ©er un nouveau contexte ou la limite spĂ©cifique Ă  l’utilisateur du nombre de contextes SPU a Ă©tĂ© atteinte.

ENOSYS

La fonctionnalitĂ© n’est par fournie par le systĂšme actuel parce que le matĂ©riel ne fournit pas de SPU ou parce que le module spufs n’est pas chargĂ©.

ENOTDIR

Un Ă©lĂ©ment du chemin d’accĂšs pathname n’est pas un rĂ©pertoire.

EPERM

L’attribut SPU_CREATE_NOSCHED a Ă©tĂ© fourni, mais l’utilisateur n’a pas la capacitĂ© CAP_SYS_NICE .

FICHIERS

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

STANDARDS

Linux sur PowerPC.

HISTORIQUE

Linux 2.6.16.

Avant l’ajout dans Linux 2.6.23 de l’attribut SPU_CREATE_AFFINITY_SPU , l’appel systùme spu_create () ne prenait que trois arguments (c’est-à-dire que l’argument neighbor_fd n’existait pas).

NOTES

spu_create () est conçu pour ĂȘtre appelĂ© depuis des bibliothĂšques qui implĂ©mentent une interface plus abstraite pour les SPU, pas pour ĂȘtre appelĂ© directement par les applications normales. Consultez http://www.bsc.es/projects/deepcomputing/linuxoncell/ pour les bibliothĂšques recommandĂ©es.

EXEMPLES

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

VOIR AUSSI

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

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-Pierre Giraud <jean-pierregiraud@neuf.fr>

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 .