摘要
将给定电源网域中的处理器功率等级告知内核,以便实现能耗感知型调度。
声明
#include <zircon/syscalls-next.h>
zx_status_t zx_system_set_processor_power_level_domain(
zx_handle_t resource,
uint64_t options,
const zx_power_domain_t* power_domain,
zx_handle_t port);
说明
为指定的处理器功耗域启用节能型调度。
功率等级会隐式枚举为 power_levels
的索引。
对 transformations
没有排序限制,它们编码的电源级别与 power_levels
定义的电源级别相对应。假定级别之间没有转换,表示执行此转换不会产生能耗。
提供的 power_domain_id
提供了一个唯一标识符,用于请求对 cpus
掩码中的所有 CPU 执行操作。任何电源级别转换处理脚本都必须了解此关联。
该系统调用应具有“设置或更新”语义,以确保任何新数据替换现有数据。这适用于 power_domain_id
和 cpus
。
提供的 port
将用于将电源级别转换请求加入队列。
权限
resource
必须为 ZX_RSRC_KIND_SYSTEM
类型和 ZX_RSRC_SYSTEM_CPU_BASE
基数。
返回值
仅当处理器功耗等级域名成功注册时,才会返回 ZX_OK
。
错误
如果 resource
不是有效的句柄,则为 ZX_ERR_ACCESS_DENIED
。
如果 resource
不是 SYSTEM 类型和 CPU 基准的有效资源句柄,则为 ZX_ERR_WRONG_TYPE
。
如果 num_power_levels
超过 ZX_MAX_POWER_LEVELS
或 num_transitions
超过 ZX_MAX_POWER_LEVEL_TRANSITIONS
,则为 ZX_ERR_OUT_OF_RANGE
。