Sous-routines pm_set_program_pthread_mx et pm_set_program_pthread_mm

Objectif

Active la programmation du moniteur de performances en mode de multiplexage de compteur et en mode multimode pour un pthread cible.

Bibliothèque

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

Syntaxe

#include <pmapi.h>  

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

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

Descriptif

Les sous-routines pm_set_program_pthread_mx et pm_set_program_pthread_mm définissent la programmation du moniteur de performances respectivement en mode de multiplexage de compteurs ou en mode multimode pour un pthread cible. Le pthread doit être arrêté et doit faire partie d'un processus de débogage, sous le contrôle du processus appelant.

Le paramètre pm_set_program_pthread_mx inclut la liste des événements de tableaux d'événements à compter et un mode de comptage. Le mode est global à toutes les listes d'événements. Les événements à compter se trouvent dans une liste d'identificateurs d'événement.

Le paramètre de sous-routine pm_set_program_pthread_mm inclut la liste des tableaux d'événements à compter, ainsi que le mode associé pour compter chaque tableau d'événements. Un mode de comptage est défini pour chaque tableau d'événements.

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é.

Le mode de comptage pour les deux sous-routines inclut le mode utilisateur ou le mode noyau, ou les deux ; et l'état de comptage initial. Les valeurs par défaut sont définies sur Off pour le mode utilisateur et le mode noyau, et l'état par défaut initial est défini pour retarder le comptage jusqu'à l'appel de la sous-routine pm_start_pthread .

Lorsque vous utilisez la sous-routine pm_set_program_pthread_mm pour le comptage multimode, le mode d'arborescence de processus et le mode de démarrage du comptage sont fixés par leurs valeurs définies dans le premier ensemble de programmation.

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 peut également être spécifiée.

Paramètres

Article Descriptif
PID ID de processus de pthread cible. Le processus cible doit être un débogueur du processus appelant.
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 Indique les événements et les modes à utiliser dans la configuration du moniteur de performances. Le paramètre prog prend en charge les modes suivants:
UTILISATEUR_PM
Compte les processus en cours d'exécution en mode utilisateur (la valeur par défaut est Off).
NOYAU pm_kernel
Compte les processus en cours d'exécution en mode noyau (la valeur par défaut est Off).
NOM_COMPTE
Démarre le comptage immédiatement (la valeur par défaut est Not to Start Counting).
* prog_mm Indique les événements et les modes associés à utiliser dans la configuration du moniteur de performances. Le paramètre prog_mm prend en charge les modes suivants:
UTILISATEUR_PM
Compte les processus en cours d'exécution en mode utilisateur (la valeur par défaut est Off).
NOYAU pm_kernel
Compte les processus en cours d'exécution en mode noyau (la valeur par défaut est Off).
NOM_COMPTE
Démarre le comptage immédiatement (la valeur par défaut est définie sur Non pour démarrer le comptage).
PM_PROCTREE
Définit le comptage sur On uniquement pour le processus appelant et ses descendants (la valeur par défaut est Off).

Le mode PM_PROCTREE et le mode PM_COUNT définis dans le premier paramètre corrigent la valeur du comptage.

Valeurs renvoyées

Article Descriptif
0 L'opération a abouti.
Positive error code Reportez-vous à la sous-routine pm_error pour décoder le code d'erreur.

Codes d'erreur

Reportez-vous à la sous-routine pm_error.

Fichiers

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