Sous-routines pm_get_program_group_mx et pm_get_program_group_mm

Objectif

Extrait les paramètres du moniteur de performances en mode de multiplexage de compteurs et en mode multiple pour le groupe de comptage auquel appartient une unité d'exécution cible.

Bibliothèque

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

Syntaxe

#include <pmapi.h>

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

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

Descriptif

Ces sous-routines prennent en charge uniquement le modèle d'unités d'exécution 1: 1. Ils ont été remplacés respectivement par la sous-routine pm_get_program_pgroup_mx et la sous-routine pm_get_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_get_program_group_mx ou à la sous-routine pm_get_program_group_mm est respectivement équivalent à un appel à la sous-routine pm_get_program_pgroup_mx ou à la sous-routine pm_get_program_pgroup_mm avec un paramètre ptid égal à 0.

La sous-routine pm_get_program_group_mx et la sous-routine pm_get_program_group_mm extraient les paramètres du moniteur de performances pour le groupe de comptage auquel appartient une unité d'exécution du 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. 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 proviennent des listes renvoyées par la sous-routine pm_initialize .

Lors du comptage en mode de multiplexage (pm_get_program_group_mx), le mode est global à toutes les listes d'événements. Lors du comptage en mode multiple (pm_get_program_group_mm), 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_init ), 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 Identificateur de processus de l'unité d'exécution cible. Le processus cible doit être un argument d'un processus de débogage.
ID d'unité d'exécution Identificateur de l'unité d'exécution cible.
* prog Renvoie les événements et les modes du moniteur de performances qui sont définis. Il prend en charge les modes suivants:
UTILISATEUR_PMR
Processus de comptage en cours d'exécution en mode utilisateur.
PM_KERNEL
Processus de comptage en cours d'exécution en mode noyau.
NOM_PMT
Le comptage est activé.
PROCESSUS PMR
Groupe de comptage de niveau de processus.
* 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 en place.
PM_PROCTREE
Comptage qui s'applique uniquement au processus appelant et à ses 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.
Code d'erreur positif Voir la sous-routine pm_error 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.