S390_RUNTIME_INSTR - Linux手册页

时间:2019-08-20 17:59:17  来源:igfitidea点击:

Section: System Calls (2)
更新日期: 2020-06-09

名称

s390_runtime_instr-启用/禁用s390 CPU运行时检测

语法

#include <asm/runtime_instr.h>

int s390_runtime_instr(int command, int signum);

说明

s390_runtime_instr()系统调用启动或停止调用线程的CPU运行时检测。

命令参数控制是否为调用线程启动运行时检测(S390_RUNTIME_INSTR_START,1)或已停止(S390_RUNTIME_INSTR_STOP,2)。

signum参数指定实时信号的数量。此参数用于指定如果运行时检测缓冲区已满或发生了运行时仪器暂停中断时应传递给线程的信号号。从未使用过此功能,并且在Linux 4.4中已删除了对该功能的支持。因此,在当前内核中,此参数将被忽略。

返回值

成功时,s390_runtime_instr()返回0,并通过为线程分配默认的运行时检测控制块来启用该线程以进行运行时检测。然后,调用者可以读取和修改控制块并启动运行时检测。发生错误时,将返回-1并将errno设置为下面列出的错误代码之一。

错误说明

EINVAL
在command中指定的值不是有效命令。
EINVAL
在signum中指定的值不是实时信号编号。从Linux 4.4开始,signum参数无效,因此无效的信号编号不会导致错误。
ENOMEM
为运行时检测控制块分配内存失败。
EOPNOTSUPP
运行时检测工具不可用。

版本

从Linux 3.7开始,此系统调用可用。

遵循规范

此特定于Linux的系统调用仅在s390体系结构上可用。从System z EC12开始可以使用运行时检测工具。

备注

Glibc不为此系统调用提供包装,请使用syscall(2)对其进行调用。

从Linux 4.16开始,asm / runtime_instr.h头文件可用。

从Linux 4.4开始,取消了对信号的支持,并检查了信号量是否为有效的实时信号。为了与较早的内核向后兼容,建议在signum中传递有效的实时信号编号并为该信号安装处理程序。

另外参见

syscall(2),signal(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/