Sous-routines pthread_attr_getsrad_np et pthread_attr_setsrad_np
Objectif
Extrait et définit l'attribut d'affinité SRAD (Scheduler Resource Allocation Domain) d'un objet d'attributs d'unité d'exécution.
Bibliothèque
Bibliothèque d'unités d'exécution (libpthreads.a)
Syntaxe
#include <pthread.h>
int pthread_attr_setsrad_np (attr, srad,flags)
pthread_attr_tattr;
sradid_tsrad;
int flags;
int pthread_attr_getsrad_np (attr, srad,flagsp)
pthread_attr_t *attr;
sradid_t *srad;
int *flagsp;Descriptif
Le paramètre sradp/srad indique le SRAD qui attire une unité d'exécution créée avec l'objet attributs. Par défaut, les unités d'exécution nouvellement créées sont équilibrées sur les SRAD d'un système conformément aux règles du système.
La sous-routine pthread_attr_getsrad_np obtient l'attribut d'affinité SRAD, tandis que la sous-routine pthread_attr_setsrad_np définit l'attribut d'affinité SRAD dans l'objet d'attributs d'unité d'exécution spécifié par le paramètre attr .
Le paramètre flags indique si la pièce jointe SRAD est stricte ou recommandée.
Le paramètre flagsp renvoie R_STRICT_SRAD si la connexion SRAD , le cas échéant, est stricte.
Paramètres
| Article | Descriptif |
|---|---|
| attr | Indique l'objet d'attributs d'unité d'exécution. |
| sradp | Pointe vers un emplacement où est stocké le SRAD à extraire. |
| srad | Indique le SRAD à extraire. |
| Flags | La définition de R_STRICT_SRAD indique que SRAD est une valeur strictement préférée. Si la pièce jointe SRAD est NULL, définissez-le sur R_STRICT_SRAD. |
| drapeau | Pointe vers un emplacement où les indicateurs associés à la pièce jointe SRAD , le cas échéant, sont stockés. |
Valeurs renvoyées
Une fois l'opération terminée, les sous-routines pthread_attr_getsrad_np et pthread_attr_setsrad_np renvoient la valeur 0. Sinon, un numéro d'erreur est renvoyé pour indiquer l'erreur.
Codes d'erreur
Les sous-routines pthread_attr_getsrad_np et pthread_attr_setsrad_np échouent si les conditions suivantes sont remplies:
| Article | Descriptif |
|---|---|
| ENOTSUP | L'affinité améliorée n'est pas présente ou n'est pas activée. |
| EINVAL (pthread_attr_getsrad_np ) | L'objet d'attribut spécifié par le paramètre attr n'est pas valide ou l'adresse indiquée par le paramètre sradp n'est pas alignée pour contenir un sradid_t. |
| EINVAL (pthread_attr_setsrad_np ) | La valeur d'affinité SRAD spécifiée par le paramètre sradp n'est pas valide. |