.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. .\" and Copyright (C) 2013 Michael Kerrisk .\" Written by Ivana Varekova .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH perfmonctl 2 "31 октября 2023 г." "Linux man\-pages 6.06" .SH ИМЯ perfmonctl \- интерфейс к блоку слежения за производительностью IA\-64 .SH СИНТАКСИС .nf \fB#include \fP \fB#include \fP .P \fBlong perfmonctl(int \fP\fIfd\fP\fB, int \fP\fIcmd\fP\fB, void \fP\fIarg\fP\fB[.\fP\fInarg\fP\fB], int \fP\fInarg\fP\fB);\fP .fi .P \fINote\fP: There is no glibc wrapper for this system call; see HISTORY. .SH ОПИСАНИЕ Специальный системный вызов \fBperfmonctl\fP() для IA\-64 предоставляет интерфейс к PMU (блок слежения за производительностью, perfomance monitoring unit). PMU содержит регистры PMD (данные производительности, performance monitoring data) и PMC (управление слежением за производительностью, performance monitoring control), в которых собирается статистика по аппаратному обеспечению. .P Вызов \fBperfmonctl\fP() выполняет операцию \fIcmd\fP над входными аргументами, указанными в \fIarg\fP. Количество аргументов указывается в \fInarg\fP. В аргументе \fIfd\fP задаётся контекст perfmon для операции. .P Поддерживаемые значения \fIcmd\fP: .TP \fBPFM_CREATE_CONTEXT\fP .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_CREATE_CONTEXT, pfarg_context_t *\fP\fIctxt\fP\fB, 1);\fP .fi Создаёт контекст. .IP Параметр \fIfd\fP игнорируется. Создаётся новый контекст perfmon согласно \fIctxt\fP и его файловый дескриптор возвращается в \fIctxt\->ctx_fd\fP. .IP Файловый дескриптор можно использовать в последующих вызовах \fBperfmonctl\fP(), а также для чтения уведомлений о событиях (тип \fIpfm_msg_t\fP) с помощью \fBread\fP(2). Файловый дескриптор можно опрашивать с помощью \fBselect\fP(2), \fBpoll\fP(2) и \fBepoll\fP(7). .IP Контекст можно уничтожить вызвав \fBclose\fP(2), указав файловый дескриптор. .TP \fBPFM_WRITE_PMCS\fP .\" pfm_write_pmcs() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_WRITE_PMCS, pfarg_reg_t *\fP\fIpmcs\fP\fB, n);\fP .fi Назначает значения регистрам PMC. .TP \fBPFM_WRITE_PMDS\fP .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_WRITE_PMDS, pfarg_reg_t *\fP\fIpmds\fP\fB, n);\fP .fi .\" pfm_write_pmds() Назначает значения регистрам PMD. .TP \fBPFM_READ_PMDS\fP .\" pfm_read_pmds() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_READ_PMDS, pfarg_reg_t *\fP\fIpmds\fP\fB, n);\fP .fi Читает регистры PMD. .TP \fBPFM_START\fP .\" pfm_start() .nf .\" .BI "perfmonctl(int " fd ", PFM_START, arg, 1); \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_START, NULL, 0);\fP .fi Запускает слежение. .TP \fBPFM_STOP\fP .\" pfm_stop() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_STOP, NULL, 0);\fP .fi Останавливает слежение. .TP \fBPFM_LOAD_CONTEXT\fP .\" pfm_context_load() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_LOAD_CONTEXT, pfarg_load_t *\fP\fIlargs\fP\fB, 1);\fP .fi Присоединяет контекст к нити. .TP \fBPFM_UNLOAD_CONTEXT\fP .\" pfm_context_unload() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_UNLOAD_CONTEXT, NULL, 0);\fP .fi Отсоединяет контекст от нити. .TP \fBPFM_RESTART\fP .\" pfm_restart() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_RESTART, NULL, 0);\fP .fi Перезапускает слежение после приёма уведомления о переполнении. .TP \fBPFM_GET_FEATURES\fP .\" pfm_get_features() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_GET_FEATURES, pfarg_features_t *\fP\fIarg\fP\fB, 1);\fP .fi .TP \fBPFM_DEBUG\fP .\" pfm_debug() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_DEBUG, \fP\fIval\fP\fB, 0);\fP .fi Если \fIval\fP не равно нулю, то включает режим отладки, в противном случае выключает. .TP \fBPFM_GET_PMC_RESET_VAL\fP .\" pfm_get_pmc_reset() .nf \fBperfmonctl(int \fP\fIfd\fP\fB, PFM_GET_PMC_RESET_VAL, pfarg_reg_t *\fP\fIreq\fP\fB, n);\fP .fi .\" .\" .\" .TP .\" .B PFM_CREATE_EVTSETS .\" .\" create or modify event sets .\" .nf .\" .BI "perfmonctl(int " fd ", PFM_CREATE_EVTSETS, pfarg_setdesc_t *desc , n); .\" .fi .\" .TP .\" .B PFM_DELETE_EVTSETS .\" delete event sets .\" .nf .\" .BI "perfmonctl(int " fd ", PFM_DELETE_EVTSET, pfarg_setdesc_t *desc , n); .\" .fi .\" .TP .\" .B PFM_GETINFO_EVTSETS .\" get information about event sets .\" .nf .\" .BI "perfmonctl(int " fd ", PFM_GETINFO_EVTSETS, pfarg_setinfo_t *info, n); .\" .fi Сбрасывает регистры PMC в их значения по умолчанию. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" \fBperfmonctl\fP() returns zero when the operation is successful. On error, \-1 is returned and \fIerrno\fP is set to indicate the error. .SH СТАНДАРТЫ Linux on IA\-64. .SH ИСТОРИЯ .\" commit ecf5b72d5f66af843f189dfe9ce31598c3e48ad7 Added in Linux 2.4; removed in Linux 5.10. .P This system call was broken for many years, and ultimately removed in Linux 5.10. .P glibc does not provide a wrapper for this system call; on kernels where it exists, call it using \fBsyscall\fP(2). .SH "СМ. ТАКЖЕ" \fBgprof\fP(1) .P Спецификация интерфейса perfmon2 .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov , kogamatranslator49 , Kogan, Max Is , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .