s390_runtime_instr(2) включает/выключает технические средства ЦП 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 записывается один из кодов ошибки, показанных далее.

ОШИБКИ

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

ВЕРСИИ

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

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

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

ЗАМЕЧАНИЯ

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