pm_get_data_wp_mx , pm_get_tdata_wp_mx , pm_get_data_lcpu_wp_mx 和 pm_get_tdata_lcpu_wp_mx 子例程
用途
以计数器多路复用方式返回指定 工作负载分区的性能监视器数据。
库
性能监视器 API 库 (libpmapi.a)
语法
#include <pmapi.h>
int pm_get_data_wp_mx (wp_handle, *pmdata) pm_wp_handle_t wp_handle;
pm_data_mx_t *pmdata;
int pm_get_tdata_wp_mx (wp_handle, pmdata, *time) pm_wp_handle_t wp_handle;
pm_data_mx_t *pmdata;
timebasestruct_t *time;
int pm_get_data_lcpu_wp_mx (wp_handle, lcpuid, *pmdata) pm_wp_handle_t
wp_handle;
int lcpuid;
pm_data_mx_t *pmdata;
int pm_get_tdata_lcpu_wp_mx (wp_handle, lcpuid, *pmdata, *time) pm_wp_handle_t
wp_handle;
int lcpuid;
pm_data_mx_t *pmdata;
timebasestruct_t *time;描述
这些子例程仅返回属于指定 工作负载分区 (WPAR) 的进程活动的数据。
指定的 WPAR 句柄表示唯一标识 WPAR的不透明数字。 可以使用 pm_get_wplist 子例程 (pm_get_wplist 子例程) 来检索此 WPAR 句柄。
下表显示了这些子例程检索的信息。
| 子例程 | 信息 |
|---|---|
| pm_get_data_wp_mx | 指定 WPAR 的当前处于计数器多路复用方式的性能监视器数据 |
| pm_get_tdata_wp_mx |
|
| pm_get_data_lcpu_wp_mx |
|
| pm_get_tdata_lcpu_wp_mx |
|
pm_get_data_lcpu_wp_mx 和 pm_get_tdata_lcpu_wp_mx 子例程检索指定 WPAR 和逻辑处理器的当前性能监视器数据。 指定的处理器标识表示范围从 0 到 _system_configuration.max_ncpus 参数值的值。 此值始终表示相同的处理器,即使在 "动态重新配置" 操作之后也是如此。 如果指定的 WPAR 或逻辑处理器号在计数时间间隔内从未运行,那么这些子例程可能会返回错误。
性能监视器数据始终是一组 64 位值的数组,在所使用的机器上,每个硬件计数器一个。
用户应用程序必须释放分配用于存储累积计数和时间的数组 ( pmdata 参数的 accu_set 字段)。
参数
| 项 | 描述 |
|---|---|
| lcpuid | 逻辑处理器标识。 每个标识都在重新引导之间维护到特定处理器的链接,即使在 "动态重新配置" 操作之后也是如此。 此值必须在从 0 到 _system_configuartion.max_ncpus 参数的值的范围内。 |
| pmdata | 指向包含返回的性能监视器数据的结构的指针。 数据可以是每个事件集计数的累积计数器,累积时间以及累积 PURR 和 SPURR 时间的数组。 |
| 时间 | 指向包含上次读取硬件性能监视计数器的 timebase 值的结构的指针。 这可以使用 time_base_to_time 子例程转换为时间。 |
| wp_handle | 唯一标识 WPAR的不透明句柄。 可以使用 pm_get_wplist 子例程从 WPAR 名称中检索此句柄。 |
返回值
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 已成功完成操作。 |
| 正错误代码 | 运行 pm_error 子例程 (pm_error 子例程) 以解码错误。 |
错误
运行 pm_error 子例程以解码错误代码。
文件
| 项 | 描述 |
|---|---|
| /usr/include/pmapi.h | 定义标准宏,数据类型和子例程。 |