rs_info 子例程

用途

检索系统亲缘关系信息。

标准 C 库 (libc.a)

语法

#include <sys/rset.h>
long rs_info(void *out, long command, long arg1, long arg2)

描述

rs_info 子例程返回亲缘关系系统信息。

参数

描述
扩展 指定输入亲缘关系请求信息和返回输出信息的地址 (可选)。
命令 指定请求的亲缘关系信息。 该命令参数具有以下值:
RS_CONFINING_RAD
返回先前 (下一个较小的数字) 系统详细信息级别的资源分配域的索引号,该级别包含 arg1arg2 参数指定的资源分配域。 arg1 参数指定所请求资源分配域的系统详细信息级别号。 arg2 参数指定 arg1 系统详细信息级别内的资源分配域的索引。 * 输出 参数指向一个无符号整数,该整数接收包含资源分配域索引。
rs_sradid_loadavg
返回指定 SRADID (调度程序资源分配域标识) 中可用 CPU 的分派器负载平均值。 arg1 参数指定所请求的负载平均值的 SRADID。 arg2 参数指定在 out 参数中提供的输出参数区域的大小。 参数指向 loadavg_info_t 结构的地址,以接收查询的输出。 rs_info () 子例程在 loadavg_info_t 结构中返回 SRADID 中的负载平均值和可用 CPU 数。
rs_sradid_usable_loadavg
返回可由调用线程使用的指定 SRADID 中可用 CPU 的分派器平均负载。 arg1 参数指定所请求的负载平均值的 SRADID。 由于进程或线程资源集连接或系统互斥资源集而导致调用线程无法使用的指定 SRADID 中的 CPU 将从负载平均值计算中排除。 arg2 参数用于指定 参数中提供的输出参数区域的大小。 参数指向 loadavg_info_t 结构的地址,以接收查询的输出。 rs_info () 子例程在 loadavg_info_t 结构中返回 SRADID 中的负载平均值和可用 CPU 数。
arg1 指定参数信息,该信息取决于 命令 参数。
arg2 指定参数信息,该信息取决于 命令 参数。

返回值

如果成功,将返回请求的信息。 如果不成功,将返回 -1 的值,并设置 errno 全局变量来指示错误。

错误代码

描述
EFAULT * 输出 参数的读或写操作不成功。
EINVAL 发生了下列其中一种情况:
  • 指定了无效的 命令 自变量。
  • 指定了无效的 arg1arg2 参数。