Sous-routine ra_getrset

Objectif

Extrait l'ensemble de ressources auquel un composant de travail est associé.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

# include <sys/rset.h>
int ra_getrset (rstype, rsid, flags, rset)
rstype_t rstype;
rsid_t rsid;
unsigned int flags;
rsethandle_t rset;

Descriptif

La sous-routine Ra_getrset renvoie l'ensemble de ressources auquel un composant de travail spécifié est associé.

Le composant de travail est un processus existant identifié par l'ID processus ou une unité d'exécution de noyau existante identifiée par l'ID unité d'exécution du noyau (tid). Un ID de processus ou une valeur d'ID d'unité d'exécution de RS_MYSELF indique que l'ensemble de ressources associé au processus en cours ou à l'unité d'exécution de noyau en cours est demandé.

Les valeurs de retour suivantes de la sous-routine Ra_getrset indiquent le type de l'ensemble de ressources renvoyé:
  • Une valeur de RS_EFFECTIVE_RSET indique que le processus a été explicitement associé à l'ensemble de ressources. Cela a peut-être été fait avec le sous-programme Ra_attachrset .
  • La valeur RS_PARTITION_RSET indique que le processus n'a pas été explicitement associé à un ensemble de ressources. Toutefois, le processus disposait d'un ensemble de ressources de partition explicitement défini. Cela peut être défini avec le sous-programme Rs_setpartition ou par l'utilisation de classes de travail Workload Manager (WLM) avec des ensembles de ressources.
  • Une valeur de RS_DEFAULT_RSET indique que le processus n'a pas été explicitement associé à un ensemble de ressources et qu'il ne dispose pas d'un ensemble de ressources de partition explicitement défini. Le jeu de ressources par défaut du système est renvoyé.
  • La valeur RS_THREAD_RSET indique que l'unité d'exécution du noyau a été explicitement associée à l'ensemble de ressources. Cette opération peut avoir été effectuée à l'aide de la sous-routine ra_attachrset .
  • Une valeur de RS_THREAD_PARTITION_RSET indique que l'unité d'exécution du noyau n'a pas été explicitement connectée à un ensemble de ressources. Cependant, l'unité d'exécution disposait d'un ensemble de ressources de partition explicitement défini. Cet ensemble a été défini par l'utilisation de classes de travail WLM avec des ensembles de ressources.

Paramètres

Article Descriptif
Rstype Indique le type du composant de travail dont la connexion d'ensemble de ressources est demandée. Ce paramètre doit être la valeur suivante, définie dans rset.h:
  • R_PROCESS: processus existant
  • R_THREAD: unité d'exécution de noyau existante
Rsid Identifie le composant de travail dont la connexion d'ensemble de ressources est demandée. Ce paramètre doit être le suivant:
  • ID processus (pour Rstype de R_PROCESS): définissez la zone Rsid_t at_pid sur l'ID processus du processus souhaité.
  • ID d'unité d'exécution du noyau (pour Rstype de R_THREAD): définissez la zone Rsid_t at_tid sur l'ID unité d'exécution de l'unité d'exécution du noyau.
Flags Réservé pour une utilisation future. Indiquez 0.
rset Indique l'ensemble de ressources pour la réception de l'ensemble de ressources du composant de travail.

Valeurs renvoyées

En cas de réussite, une valeur RS_EFFECTIVE_RSET, RS_PARTITION_RSET, RS_THREAD_RSET, RS_THREAD_PARTITION_RSETou RS_DEFAULT_RSET est renvoyée. En cas d'échec, la valeur -1 est renvoyée et la variable globale errno est définie pour indiquer l'erreur.

Codes d'erreur

La sous-routine Ra_getrset échoue si une ou plusieurs des opérations suivantes sont vraies:
Article Descriptif
EINVAL Les causes possibles sont les suivantes :
  • Le paramètre Indicateurs contient une valeur non valide.
  • Le paramètre Rstype contient un qualificatif de type non valide.
EDÉFAUT Adresse non valide.
ESRCH L'unité d'exécution de processus ou de noyau identifiée par les paramètres Rstype et Rsid n'existe pas.