Sous-routines pm_get_program_pthread_mx et pm_get_program_pthread_mm

Objectif

Extrait les paramètres du moniteur de performances en mode de multiplexage de compteur et en mode multiple pour un pthread cible.

Bibliothèque

Bibliothèque d'API Performance Monitor (libpmapi.a)

Syntaxe

#include <pmapi.h>  

int pm_get_program_pthread_mx ( pid,  tid,  ptid,  *prog) 
pid_t pid; 
tid_t tid;
ptid_t ptid; 
pm_prog_mx_t *prog; 

int pm_get_program_pthread_mm ( pid, tid, ptid, prog_mm)
pid_t pid;
tid_t tid;
ptid_t ptid;
pm_prog_mm_t *prog_mm;

Descriptif

pm_get_program_pthread_mx et les sous-routines pm_set_program_pthread_mm extraient les paramètres du moniteur de performances pour un pthread cible. Le pthread doit être arrêté et faire partie d'un processus de débogage, c'est-à-dire sous le contrôle du processus appelant. Cela inclut les informations de mode et les événements en cours de comptage, qui se trouvent dans un tableau de listes d'identificateurs d'événement. Les identificateurs d'événement doivent être sélectionnés dans les listes renvoyées par la sous-routine pm_inititialize .

Si pthread s'exécute en mode 1: 1, seul le paramètre tid doit être spécifié. Si pthread s'exécute en mode m: n, seul le paramètre ptid doit être spécifié. Si les paramètres ptid et tid sont tous deux spécifiés, ils doivent faire référence à un seul pthread avec le paramètre ptid spécifié et en cours d'exécution sur une unité d'exécution de noyau avec le paramètre tid spécifié.

Lors du comptage en mode multiplexage, le mode est global à toutes les listes d'événements. Lors du comptage en mode multimode, un mode est associé à chaque liste d'événements.

Le mode de comptage comprend le mode utilisateur, le mode noyau et l'état de comptage en cours.

Si la liste inclut un événement qui peut être utilisé avec un seuil (comme indiqué par la sous-routine pm_initialize ), une valeur de seuil est également renvoyée.

L'application utilisateur doit libérer le tableau alloué pour stocker les listes d'événements (la zone events_set dans le paramètre prog ).

Paramètres

Article Descriptif
PID ID de processus de pthread cible. Le processus cible doit être un argument d'un processus de débogage.
ID d'unité d'exécution ID unité d'exécution du pthread cible. Pour ignorer ce paramètre, définissez-le sur 0.
ptid ID pthread de la pthread cible. Pour ignorer ce paramètre, définissez-le sur 0.
* prog Renvoie les événements et les modes du moniteur de performances qui sont définis. Il prend en charge les modes suivants:
UTILISATEUR_PM
Compte les processus en cours d'exécution en mode utilisateur.
NOYAU pm_kernel
Compte les processus en cours d'exécution en mode noyau.
NOM_COMPTE
Le comptage est activé.
* prog_mm Renvoie les événements du moniteur de performances et les modes associés définis. Il prend en charge les modes suivants:
UTILISATEUR_PM
Comptage des processus en cours d'exécution en mode utilisateur.
NOYAU pm_kernel
Comptage des processus en cours d'exécution en mode noyau.
NOM_COMPTE
Le comptage est activé.
PM_PROCTREE
Comptage qui s'applique uniquement aux processus d'appel et à leurs descendants.

Le mode PM_PROCTREE et le mode PM_COUNT sont communs à tous les modes définis.

Valeurs renvoyées

Article Descriptif
0 Aucune erreur ne s'est produite.
Positive error code Voir la sous-routine pm_error pour décoder le code d'erreur.

Codes d'erreur

Voir la sous-routine pm_error (pm_error Subroutine).

Fichiers

Article Descriptif
/usr/include/pmapi.h Définit des macros standard, des types de données et des sous-routines.