Provided by: manpages-fr-dev_4.15.0-9_all bug

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);

       Note : il n'existe pas d'enveloppe pour cet appel système dans la glibc ; voir 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_FEATURES, 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()  returns zero when the operation is successful. On error, -1 is returned  and
       errno is set to indicate the error.

VERSIONS

       perfmonctl()  was added in Linux 2.4; it was removed in Linux 5.10.

CONFORMITÉ

       perfmonctl() est spécifique à Linux et n'est disponible que sur l'architecture IA-64.

NOTES

       This system call was broken for many years, and ultimately removed in Linux 5.10.

       Glibc does not provide a wrapper for this system call; on kernels where it exists, call it
       using syscall(2).

VOIR AUSSI

       gprof(1)

       La spécification d'interface perfmon2

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.