Sous-routines pm_set_program_thread_mx et pm_set_program_thread_mm
Objectif
Active la programmation du moniteur de performances en mode de multiplexage de compteur et en mode multi-mode pour une unité d'exécution cible.
Bibliothèque
Bibliothèque d'API Performance Monitor (libpmapi.a)
Syntaxe
Descriptif
Les sous-routines pm_set_program_thread_mx et pm_set_program_thread_mm prennent en charge uniquement le modèle d'unités d'exécution 1: 1. Ils ont été remplacés respectivement par les sous-routines pm_set_program_pthread_mx et pm_set_program_pthread_mm , qui prennent en charge les modèles d'unités d'exécution 1: 1 et M: N. Un appel à la sous-routine pm_set_program_thread_mx ou à la sous-routine pm_set_program_thread_mm est équivalent respectivement à un appel à la sous-routine pm_set_program_pthread_mx ou à la sous-routine pm_set_program_pthread_mm avec un paramètre ptid égal à 0.
Les sous-routines pm_set_program_thread_mx et pm_set_program_thread_mm définissent la programmation du moniteur de performances respectivement en mode de multiplexage de compteurs ou en mode multiple pour une unité d'exécution de noyau cible. L'unité d'exécution doit être arrêtée et faire partie d'un processus de débogage, sous le contrôle du processus appelant.
Le paramètre pm_set_program_thread_mx inclut la liste des 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 pm_set_program_thread_mm inclut la liste des tableaux d'événements à compter et le mode associé dans lequel 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_initialize .
Le mode de comptage pour les deux sous-routines inclut le mode utilisateur, le mode noyau ou les deux, ainsi que 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'à ce que la sous-routine pm_start_thread soit appelée.
Lorsque vous utilisez la sous-routine pm_set_program_thread_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 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_init ), une valeur de seuil peut également être spécifiée.
Paramètres
| Article | Descriptif |
|---|---|
| PID | ID processus de l'unité d'exécution cible. Le processus cible doit être un débogueur du processus appelant. |
| ID d'unité d'exécution | ID de l'unité d'exécution cible. |
| * 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. |