zx_system_set_processor_power_domain

摘要

将给定电源网域中的处理器功率等级告知内核,以便实现能耗感知型调度。

声明

#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_idcpus

提供的 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_LEVELSnum_transitions 超过 ZX_MAX_POWER_LEVEL_TRANSITIONS,则为 ZX_ERR_OUT_OF_RANGE