perfmonctl(2) System Calls Manual perfmonctl(2)

perfmonctl - interfață pentru unitatea de monitorizare a performanței IA-64

#include <syscall.h>
#include <perfmon.h>
long perfmonctl(int fd, int cmd, void arg[.narg], int narg);

Nota: Nu există nicio funcție învăluitoare glibc pentru acest apel de sistem; consultați secțiunea ISTORIC.

Apelul de sistem specific IA-64 perfmonctl() oferă o interfață cu PMU (unitatea de monitorizare a performanțelor). PMU constă din registrele PMD (date de monitorizare a performanțelor) și PMC (controlul monitorizării performanțelorl), care colectează statisticile hardware.

perfmonctl() aplică operația cmd la argumentele de intrare specificate de arg. Numărul de argumente este definit de narg. Argumentul fd specifică contextul perfmon pe care se operează.

Valorile acceptate pentru cmd sunt:

perfmonctl(int fd, PFM_CREATE_CONTEXT, pfarg_context_t *ctxt, 1);
Stabilește un context.
Parametrul fd este ignorat. Se creează un nou context perfmon, după cum se specifică în ctxt, iar descriptorul său de fișier este returnat în ctxt->ctx_fd.
Descriptorul de fișier poate fi utilizat în apelurile ulterioare la perfmonctl() și poate fi utilizat pentru a citi notificările de evenimente (tip pfm_msg_t) utilizând read(2). Descriptorul de fișier poate fi interogat folosind select(2), poll(2) și epoll(7).
Contextul poate fi distrus prin apelarea close(2) pe descriptorul de fișier.
perfmonctl(int fd, PFM_WRITE_PMCS, pfarg_reg_t *pmcs, n);
Stabilește registrele PMC.
perfmonctl(int fd, PFM_WRITE_PMDS, pfarg_reg_t *pmds, n);
Stabilește registrele PMD.
perfmonctl(int fd, PFM_READ_PMDS, pfarg_reg_t *pmds, n);
Citește registrele PMD.
perfmonctl(int fd, PFM_START, NULL, 0);
Pornește monitorizarea.
perfmonctl(int fd, PFM_STOP, NULL, 0);
Oprește monitorizarea.
perfmonctl(int fd, PFM_LOAD_CONTEXT, pfarg_load_t *largs, 1);
Atașează contextul la un fir.
perfmonctl(int fd, PFM_UNLOAD_CONTEXT, NULL, 0);
Detașează contextul de la un fir.
perfmonctl(int fd, PFM_RESTART, NULL, 0);
Repornește monitorizarea după primirea unei notificări de depășire.
perfmonctl(int fd, PFM_GET_FEATURES, pfarg_features_t *arg, 1);
perfmonctl(int fd, PFM_DEBUG, val, 0);
Dacă val este diferit de zero, se activează modul de depanare, altfel se dezactivează.
perfmonctl(int fd, PFM_GET_PMC_RESET_VAL, pfarg_reg_t *req, n);
Reinițializează registrele PMC la valorile implicite.

perfmonctl() returnează zero atunci când operația este reușită. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

Linux pe IA-64.

Adăugat în Linux 2.4; eliminat în Linux 5.10.

Acest apel de sistem a fost defect timp de mai mulți ani și, în cele din urmă, a fost eliminat în Linux 5.10.

glibc nu oferă o funcție de învăluire pentru acest apel de sistem; pe nucleele în care există, apelați-l folosind syscall(2).

gprof(1)

Specificația interfeței perfmon2

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

31 octombrie 2023 Pagini de manual de Linux 6.06