NOM¶
perfmonctl - Interface à l'unité de surveillance des performances
IA-64
SYNOPSIS¶
#include <syscall.h>
#include <perfmon.h>
long perfmonctl(int fd, int cmd, void *arg, int narg);
Remarque : il n'existe pas de fonction glibc autour de cet appel
système ; consultez
NOTES.
DESCRIPTION¶
L'appel système
perfmonctl() spécifique à IA-64
fournit une interface à la PMU (unité de surveillance des
performances). La PMU est constituée de registres PMD (données
de surveillance des performances) et de registres PMC (contrôle de
surveillance des performances) qui rassemblent des statistiques sur le
matériel.
perfmonctl() applique l'opération
cmd aux arguments
d'entrée indiqués par
arg. Le nombre d'arguments est
défini par
narg. L'argument
fd indique le contexte
perfmon sur lequel opérer.
Les valeurs possibles pour
cmd sont :
- PFM_CREATE_CONTEXT
-
perfmonctl(int fd, PFM_CREATE_CONTEXT, pfarg_context_t *ctxt, 1);
Définir un contexte.
Le paramètre fd est ignoré. Un nouveau contexte perfmon
est créé comme indiqué dans ctxt et son
descripteur de fichier est renvoyé dans ctxt->ctx_fd.
Le descripteur de fichier peut être utilisé dans les appels
suivants de perfmonctl() et peut être utilisé pour
des notifications d'événement (type pfm_msg_t) en
utilisant read(2). Le descripteur de fichier est surveillable en
utilisant select(2), poll(2) et epoll(7).
Le contexte peut être détruit en appelant close(2) sur
le descripteur de fichier.
- PFM_WRITE_PMCS
-
perfmonctl(int fd, PFM_WRITE_PMCS, pfarg_reg_t *pmcs, n);
Définir les registres PMC.
- PFM_WRITE_PMDS
-
perfmonctl(int fd, PFM_WRITE_PMDS, pfarg_reg_t *pmds, n);
Définir les registres PMD.
- PFM_READ_PMDS
-
perfmonctl(int fd, PFM_READ_PMDS, pfarg_reg_t *pmds, n);
Lire les registres PMD.
- PFM_START
-
perfmonctl(int fd, PFM_START, NULL, 0);
Commencer la surveillance.
- PFM_STOP
-
perfmonctl(int fd, PFM_STOP, NULL, 0);
Arrêter la surveillance.
- PFM_LOAD_CONTEXT
-
perfmonctl(int fd, PFM_LOAD_CONTEXT, pfarg_load_t *largs, 1);
Attacher le contexte à un thread.
- PFM_UNLOAD_CONTEXT
-
perfmonctl(int fd, PFM_UNLOAD_CONTEXT, NULL, 0);
Détacher le contexte d'un thread.
- PFM_RESTART
-
perfmonctl(int fd, PFM_RESTART, NULL, 0);
Redémarrer la surveillance après avoir reçu une
notification de dépassement.
- PFM_GET_FEATURES
-
perfmonctl(int fd, PFM_GET_FEARURES, pfarg_features_t *arg, 1);
- PFM_DEBUG
-
perfmonctl(int fd, PFM_DEBUG, val, 0);
Si val est non nul, activer le mode de débogage, sinon le
désactiver.
- PFM_GET_PMC_RESET_VAL
-
perfmonctl(int fd, PFM_GET_PMC_RESET_VAL, pfarg_reg_t * req, n);
Réinitialiser les registres PMC aux valeurs par défaut.
VALEUR RENVOYÉE¶
perfmonctl() renvoie zéro si l'opération réussit. En
cas d'erreur, -1 est renvoyé et
errno est définie pour
indiquer la cause de l'erreur.
VERSIONS¶
perfmonctl() est disponible depuis Linux 2.4.
perfmonctl() est spécifique à Linux et n'est disponible que
sur l'architecture IA-64.
NOTES¶
La glibc ne fournit pas de fonction autour de cet appel système ;
utilisez
syscall(2) pour l'appeler.
VOIR AUSSI¶
gprof(1)
La spécification d'interface perfmon2
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce
document en utilisant la commande «
man -L C
<section>
<page_de_man> ».