Scroll to navigation

S390_RUNTIME_INSTR(2) System Calls Manual S390_RUNTIME_INSTR(2)

ИМЯ

s390_runtime_instr - включает/выключает технические средства ЦП s390 времени выполнения

СИНТАКСИС

#include <asm/runtime_instr.h>
int s390_runtime_instr(int command, int signum);

ОПИСАНИЕ

Системный вызов s390_runtime_instr() запускает или останавливает технические средства ЦП времени выполнения для вызывающей нити.

В аргументе command указывается, что технические средства времени выполнения нужно запустить (S390_RUNTIME_INSTR_START, 1) или остановить (S390_RUNTIME_INSTR_STOP, 2) для вызывающей нити.

В аргументе signum задаётся номер сигнала реального времени. Сигнал реального времени посылается нити, если буфер технических средств времени выполнения заполнился или произошло прерывание run-time-instrumentation-halted.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении s390_runtime_instr() возвращает 0 и включает в нити технические средства времени выполнения, назначая нити блок управления техническими средствами времени выполнения. После этого вызывающий может читать и изменять блок управления и запускать технические средства времени выполнения. При ошибке возвращается -1 и в errno записывается один из кодов ошибки, показанных далее.

ОШИБКИ

Значение command не является допустимой командой, или значение signum не является номером сигнала реального времени.
Не удалось выделить память под блок управления техническими средствами времени выполнения.
Технические средства времени выполнения недоступны.

ВЕРСИИ

Данный системный вызов появился в Linux 3.7.

СООТВЕТСТВИЕ СТАНДАРТАМ

Данный системный вызов есть только в Linux и только на архитектуре s390. Технические средства времени выполнения доступны начиная с System z EC12.

ЗАМЕЧАНИЯ

В glibc нет обёртки для данного системного вызова; запускайте его с помощью syscall(2).

СМ. ТАКЖЕ

syscall(2), signal(7)

ЗАМЕЧАНИЯ

Эта страница является частью проекта Linux man-pages версии 4.16. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Alexander Golubev <fatzer2@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Hotellook, Nikita <zxcvbnm3230@mail.ru>, Spiros Georgaras <sng@hellug.gr>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

15 сентября 2017 г. Руководство программиста Linux