Sous-routine pm_get_data_thread_mx ou pm_get_tdata_thread_mx

Objectif

Renvoie les données du moniteur de performances en mode de multiplexage de compteurs pour une unité d'exécution cible.

Bibliothèque

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

Syntaxe

#include <pmapi.h>

int pm_get_data_thread_mx (pid,  tid,  *pmdata)
pid_t pid;
tid_t tid;
pm_data_mx_t *pmdata;

int pm_get_tdata_thread_mx (pid, tid, *pmdata, *time)
pid_t pid;
tid_t tid;
pm_data_mx_t *pmdata;
timebasestruct_t *time;

Descriptif

Ces sous-routines prennent en charge uniquement le modèle d'unités d'exécution 1: 1. Ils ont été remplacés par les sous-routines pm_get_data_pthread_mx et pm_get_tdata_pthread_mx , qui prennent en charge les modèles d'unités d'exécution 1: 1 et M: N. Les appels à ces sous-routines sont équivalents aux appels aux sous-routines pm_get_data_pthread_mx et pm_get_tdata_pthread_mx avec un paramètre ptid égal à 0.

La sous-routine pm_get_data_thread_mx extrait les données du moniteur de performances en cours en mode de multiplexage de compteurs 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 d'un processus appelant.

La sous-routine pm_get_tdata_thread_mx extrait les données du moniteur de performances en cours en mode de multiplexage de compteurs pour une unité d'exécution cible, ainsi qu'un horodatage indiquant la dernière lecture des compteurs matériels.

Les données du moniteur de performances sont toujours un tableau d'un ensemble (un par compteur matériel sur la machine utilisée) de valeurs de 64 bits.

L'application utilisateur doit libérer le tableau alloué pour stocker les comptages et les temps accumulés (zone accu_set du paramètre pmdata ).

Paramètres

Article Descriptif
PID Identificateur de processus d'une unité d'exécution cible. Le processus cible doit être un débogueur du processus appelant.
ID d'unité d'exécution Identificateur d'unité d'exécution d'une unité d'exécution cible.
* pmdata Pointeur vers une structure pour renvoyer les données du moniteur de performances (tableau des compteurs cumulés, du temps cumulé et du temps PURR et SPURR cumulé pour chaque ensemble d'événements compté) pour l'unité d'exécution du noyau cible.
* heure Pointeur vers une structure contenant la valeur de base de temps lors de la dernière lecture des compteurs de surveillance des performances du matériel. Il peut être converti en temps à l'aide de la sous-routine time_base_to_time .

Valeurs renvoyées

Article Descriptif
0 % Aucune erreur ne s'est produite.
Code d'erreur positif 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.