perfmonctl(2) System Calls Manual perfmonctl(2) NUME perfmonctl - interfaa pentru unitatea de monitorizare a performanei IA-64 REZUMAT #include #include long perfmonctl(int fd, int cmd, void arg[.narg], int narg); Nota: Nu exista nicio funcie invaluitoare glibc pentru acest apel de sistem; consultai seciunea ISTORIC. DESCRIERE Apelul de sistem specific IA-64 perfmonctl() ofera o interfaa cu PMU (unitatea de monitorizare a performanelor). PMU consta din registrele PMD (date de monitorizare a performanelor) i PMC (controlul monitorizarii performanelorl), care colecteaza statisticile hardware. perfmonctl() aplica operaia cmd la argumentele de intrare specificate de arg. Numarul de argumente este definit de narg. Argumentul fd specifica contextul perfmon pe care se opereaza. Valorile acceptate pentru cmd sunt: PFM_CREATE_CONTEXT perfmonctl(int fd, PFM_CREATE_CONTEXT, pfarg_context_t *ctxt, 1); Stabilete un context. Parametrul fd este ignorat. Se creeaza un nou context perfmon, dupa cum se specifica in ctxt, iar descriptorul sau de fiier este returnat in ctxt->ctx_fd. Descriptorul de fiier poate fi utilizat in apelurile ulterioare la perfmonctl() i poate fi utilizat pentru a citi notificarile de evenimente (tip pfm_msg_t) utilizand read(2). Descriptorul de fiier poate fi interogat folosind select(2), poll(2) i epoll(7). Contextul poate fi distrus prin apelarea close(2) pe descriptorul de fiier. PFM_WRITE_PMCS perfmonctl(int fd, PFM_WRITE_PMCS, pfarg_reg_t *pmcs, n); Stabilete registrele PMC. PFM_WRITE_PMDS perfmonctl(int fd, PFM_WRITE_PMDS, pfarg_reg_t *pmds, n); Stabilete registrele PMD. PFM_READ_PMDS perfmonctl(int fd, PFM_READ_PMDS, pfarg_reg_t *pmds, n); Citete registrele PMD. PFM_START perfmonctl(int fd, PFM_START, NULL, 0); Pornete monitorizarea. PFM_STOP perfmonctl(int fd, PFM_STOP, NULL, 0); Oprete monitorizarea. PFM_LOAD_CONTEXT perfmonctl(int fd, PFM_LOAD_CONTEXT, pfarg_load_t *largs, 1); Ataeaza contextul la un fir. PFM_UNLOAD_CONTEXT perfmonctl(int fd, PFM_UNLOAD_CONTEXT, NULL, 0); Detaeaza contextul de la un fir. PFM_RESTART perfmonctl(int fd, PFM_RESTART, NULL, 0); Repornete monitorizarea dupa primirea unei notificari de depaire. PFM_GET_FEATURES perfmonctl(int fd, PFM_GET_FEATURES, pfarg_features_t *arg, 1); PFM_DEBUG perfmonctl(int fd, PFM_DEBUG, val, 0); Daca val este diferit de zero, se activeaza modul de depanare, altfel se dezactiveaza. PFM_GET_PMC_RESET_VAL perfmonctl(int fd, PFM_GET_PMC_RESET_VAL, pfarg_reg_t *req, n); Reiniializeaza registrele PMC la valorile implicite. VALOAREA RETURNATA perfmonctl() returneaza zero atunci cand operaia este reuita. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. STANDARDE Linux pe IA-64. ISTORIC Adaugat in Linux 2.4; eliminat in Linux 5.10. Acest apel de sistem a fost defect timp de mai muli ani i, in cele din urma, a fost eliminat in Linux 5.10. glibc nu ofera o funcie de invaluire pentru acest apel de sistem; pe nucleele in care exista, apelai-l folosind syscall(2). CONSULTAI I gprof(1) Specificaia interfeei perfmon2 TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 perfmonctl(2)