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
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:
|
| * 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:
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. |