zx_system_set_performance_info

总结

设置 CPU 性能参数。

声明

#include <zircon/syscalls.h>

zx_status_t zx_system_set_performance_info(zx_handle_t resource,
                                           uint32_t topic,
                                           const void* info,
                                           size_t count);

说明

zx_system_set_performance_info() 用于设置内核维护的 CPU 性能参数。topic 参数指明了受影响的特定参数。

count 表示要设置的项数。主题可能会对此值施加要求。

info 是指向足够大的缓冲区的指针,可容纳 topic 指定的类型的 count 条目。

主题

ZX_CPU_PERF_SCALE

count:必须为非零值,且小于或等于系统中的逻辑 CPU 数量。

info 类型:zx_cpu_performance_scale_t[count]

zx_cpu_performance_scale_t 数组,其中包含指定系统中相应逻辑 CPU 的性能比例(表示相对操作点的标量值)的条目。只有数组中指定的 CPU 才会更新,其他 CPU 不受影响。

逻辑 CPU 数值必须按递增顺序存储在数组中。比例值采用无符号的定点数 Q32.32 格式。范围值应表示 CPU 的相对性能,1.0 对应于系统中最快 CPU 的最高操作点。

请参阅 RFC 0123,详细了解值和更新协议。

权限

resource 必须具有资源种类 ZX_RSRC_KIND_SYSTEM

返回值

zx_system_set_performance_info() 会在成功时返回 ZX_OK。如果失败,则返回负错误值。

错误

ZX_ERR_BAD_HANDLE 资源不是有效的句柄。

ZX_ERR_WRONG_TYPE resource 不是资源种类 ZX_RSRC_KIND_SYSTEM

ZX_ERR_OUT_OF_RANGE 资源不在 [ZX_RSRC_SYSTEM_CPU_BASE, ZX_RSRC_SYSTEM_CPU_BASE+1) 范围内。

ZX_ERR_INVALID_ARGS topicinfo 包含无效值,或 info 包含无序的条目。

ZX_ERR_OUT_OF_RANGE countinfo 条目值不符合主题的要求。

ZX_ERR_NO_MEMORY:因内存不足而失败。用户空间没有什么方法来处理此(不太可能)错误。在以后的 build 中,此错误不会再发生。

另请参阅