Sous-routines pm_set_program_group_mx et pm_set_program_group_mm

Objectif

Définit le programme Performance Monitor en mode de multiplexage de compteurs et en mode multiple pour une unité d'exécution cible et crée un groupe de comptage.

Bibliothèque

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

Syntaxe

#include <pmapi.h> 

int pm_set_program_group_mx ( pid,  tid,  *prog) 
pid_t pid; 
tid_t tid; 
pm_prog_mx_t *prog;

int pm_set_program_group_mm ( pid, tid, *prog_mm)
pid_t pid;
tid_t tid;
pm_prog_mm_t *prog_mm;

Descriptif

Les sous-routines pm_set_program_group_mx et pm_set_program_group_mm prennent en charge uniquement le modèle d'unités d'exécution 1: 1. Elles ont été remplacées respectivement par les sous-routines pm_set_program_pgroup_mx et pm_set_program_pgroup_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_pgroup_mx ou pm_set_program_pgroup_mm est respectivement équivalent à un appel à la sous-routine pm_set_program_pgroup_mx ou pm_set_program_pgroup_mm avec un paramètre ptid égal à 0.

Les sous-routines pm_set_program_group_mx et pm_set_program_group_mm définissent le programme Performance Monitor respectivement en mode de multiplexage de compteurs ou en mode multimode 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, qui est sous le contrôle du processus appelant.

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

Le paramètre de sous-routine pm_set_program_group_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_initialize .

Les deux sous-routines créent un groupe de comptage, qui inclut l'unité d'exécution cible et toute unité d'exécution que cette dernière, ou l'un de ses descendants, créera dans le futur. Le groupe peut également être défini comme contenant toutes les unités d'exécution existantes et futures appartenant au processus cible.

Le mode de comptage des sous-routines inclut le mode utilisateur, le mode noyau, ou les deux, et l'état de comptage initial. La valeur par défaut est Off pour le mode utilisateur et le mode noyau. L'état par défaut initial est défini pour retarder le comptage jusqu'à ce que la sous-routine pm_start_group soit appelée.

Lorsque vous utilisez la sous-routine pm_set_program_group_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 pouvant ê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 Indique l'ID de processus de l'unité d'exécution cible. Le processus cible doit être un débogueur d'un processus appelant.
ID d'unité d'exécution Indique l'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:

UTILISATEUR_PM
Nombre de 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).
PROCESSUS PM_DE
Crée un groupe de comptage au niveau du processus.
* prog_mm Indique les événements et les modes à utiliser dans la configuration du moniteur de performances. Le paramètre prog_mm prend en charge les modes suivants:
UTILISATEUR_PM
Nombre de 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.
Code d'erreur positif Voir la sous-routine pm_error (pm_error Subroutine) pour décoder le code d'erreur.

Codes d'erreur

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