PERFMONCTL - Linux手册页
时间:2019-08-20 17:59:06 来源:igfitidea点击:
Linux程序员手册 第2部分
更新日期: 2017-09-15
名称
perfmonctl-与IA-64性能监视单元的接口
语法
#include <syscall.h> #include <perfmon.h> long perfmonctl(int fd, int cmd, void *arg, int narg);
Note:
There is no glibc wrapper for this system call; see NOTES.
说明
特定于IA-64的perfmonctl()系统调用提供了与PMU(性能监视单元)的接口。 PMU由PMD(性能监视数据)寄存器和PMC(性能监视控制)寄存器组成,它们收集硬件统计信息。
perfmonctl()将操作cmd应用于arg指定的输入参数。参数的数量由narg定义。 fd参数指定要操作的perfmon上下文。
cmd支持的值为:
- PFM_CREATE_CONTEXT
- 设置上下文。
- fd参数将被忽略。按照ctxt中的指定创建一个新的perfmon上下文,并在ctxt->ctx_fd中返回其文件描述符。
- 该文件描述符可用于对perfmonctl()的后续调用中,并可用于使用read(2)读取事件通知(类型pfm_msg_t)。可以使用select(2),poll(2)和epoll(7)轮询文件描述符。
- 可以通过在文件描述符上调用close(2)来破坏上下文。
- PFM_WRITE_PMCS
- 设置PMC寄存器。
- PFM_WRITE_PMDS
- 设置PMD寄存器。
- PFM_READ_PMDS
- 读取PMD寄存器。
- PFM_START
- 开始监视。
- PFM_STOP
- 停止监视。
- PFM_LOAD_CONTEXT
- 将上下文附加到线程。
- PFM_UNLOAD_CONTEXT
- 从线程中分离上下文。
- PFM_RESTART
- 收到溢出通知后,重新启动监视。
- PFM_GET_FEATURES
perfmonctl(int fd, PFM_GET_FEATURES, pfarg_features_t *arg, 1);
- PFM_DEBUG
- 如果val非零,则启用调试模式,否则禁用。
- PFM_GET_PMC_RESET_VAL
- 将PMC寄存器重置为默认值。
返回值
操作成功时,perfmonctl()返回零。发生错误时,将返回-1并将errno设置为指示错误原因。
版本
从Linux 2.4开始可以使用perfmonctl()。
遵循规范
perfmonctl()是特定于Linux的,仅在IA-64体系结构上可用。
备注
Glibc没有为该系统调用提供包装器;使用syscall(2)调用它。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。