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