Sous-routines pm_get_program_thread_mx et pm_get_program_thread_mm

Objectif

Extrait les paramètres du moniteur de performances en mode de multiplexage de compteur et en mode multiple pour une unité d'exécution cible.

Bibliothèque

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

Syntaxe

#include <pmapi.h>

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

int pm_get_program_thread_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 les sous-routines pm_get_program_pthread_mx et pm_get_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_get_program_thread_mx ou à la sous-routine pm_get_program_thread_mm est respectivement équivalent à un appel à la sous-routine pm_get_program_pthread_mx ou à la sous-routine pm_get_program_pthread_mm avec un paramètre ptid égal à 0.

La sous-routine pm_get_program_thread_mx et la sous-routine pm_get_program_thread_mm extraient les paramètres du moniteur de performances pour 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 liste d'identificateurs d'événement. Les identificateurs d'événement proviennent des listes renvoyées par la sous-routine pm_initialize .

Lors du comptage en mode multiplexage, le mode est global à toutes les listes d'événements. Lors du comptage en mode multimode, 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
Comptage des processus en cours d'exécution en mode utilisateur.
PM_KERNEL
Comptage des processus en cours d'exécution en mode noyau.
NOM_PMT
Le comptage est activé.
* 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 activé.
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.