Sous-routines pm_set_program_mx et pm_set_program_mm

Objectif

Définit la programmation du moniteur de performances à l'échelle du système en mode de multiplexage de compteurs et en mode multi-mode.

Bibliothèque

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

Syntaxe


#include <pmapi.h>

int pm_set_program_mx (*prog)
pm_prog_mx_t *prog;

int pm_set_program_mm (*prog_mm)
pm_prog_mm_t *prog_mm;

Descriptif

Les sous-routines pm_set_program_mx et pm_set_program_mm définissent la programmation du moniteur de performances à l'échelle du système en mode de multiplexage de compteurs.

Le paramètre pm_set_program_mx inclut la liste des tableaux d'événements à compter, ainsi qu'un mode de comptage. Les événements à compter se trouvent dans une liste d'identificateurs d'événement. Le mode est global pour toutes les listes d'événements.

Le paramètre pm_set_program_mm inclut la liste des tableaux d'événements à compter et le mode associé dans lequel compter chaque tableau d'événements. Un mode de comptage est défini pour chaque tableau d'événements.

Les identificateurs doivent être sélectionnés dans les listes renvoyées par la sous-routine pm_initialize .

Le mode de comptage inclut le mode utilisateur et le mode noyau, ou l'un ou l'autre, l'état de comptage initial et le mode d'arborescence de processus. Le mode d'arborescence de processus définit le comptage sur On uniquement pour le processus appelant et ses descendants. Les valeurs par défaut sont définies sur Off pour le mode utilisateur et le mode noyau. L'état par défaut initial est défini pour retarder le comptage jusqu'à l'appel de la sous-routine pm_start et pour compter l'activité de tous les processus en cours d'exécution dans le système.

Lorsque vous utilisez la sous-routine pm_set_program_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.

Sur certaines plateformes, des groupes d'événements peuvent être spécifiés à la place d'événements individuels. Pour ce faire, définissez la zone bitfield is_group dans le mode et placez l'ID de groupe dans le premier élément de chaque tableau d'événements. (L'ID groupe a été obtenu par la sous-routine pm_init .)

Paramètres

Article Descriptif
* prog Indique les événements et les modes à utiliser dans la configuration du moniteur de performances. Il prend en charge les modes suivants:
UTILISATEUR_PMR
Compte les processus qui s'exécutent en mode utilisateur (la valeur par défaut est Off).
PM_KERNEL
Compte les processus qui s'exécutent en mode noyau (la valeur par défaut est Off).
NOM_PMT
Démarre le comptage immédiatement (la valeur par défaut est Not to Start Counting).
PM_PROCTREE
Définit le comptage sur On uniquement pour le processus appelant et ses descendants (la valeur par défaut est Off).
* prog_mm Indique les événements et les modes associés à utiliser dans la configuration du moniteur de performances. Il prend en charge les modes suivants:
UTILISATEUR_PMR
Compte les processus qui s'exécutent en mode utilisateur (la valeur par défaut est Off).
PM_KERNEL
Compte les processus qui s'exécutent en mode noyau (la valeur par défaut est Off).
NOM_PMT
Démarre le comptage immédiatement (la valeur par défaut est définie sur Non pour démarrer le comptage).
PPM_PROCTREE
Définit le comptage sur On uniquement pour le processus appelant et ses descendants (la valeur par défaut est Off).

Les modes PM_PROCTREE et PM_COUNT définis dans le premier paramètre fixent la valeur du comptage.

Valeurs renvoyées

Article Descriptif
0 L'opération a abouti.
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.