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

ZX_CPU_POWER_LIMIT

count:必須為非零值,且小於或等於系統中的邏輯 CPU 數量。

info 類型:zx_cpu_power_limit_t[count]

zx_cpu_power_limit_t 陣列,其中項目會指定能量限制 (以奈瓦為單位)。接著,排程器就會使用這些值,限制每個受影響的處理器的耗電量。

權限

resource 必須具有資源類型 ZX_RSRC_KIND_SYSTEM

傳回值

zx_system_set_performance_info() 會在成功時傳回 ZX_OK。如果發生錯誤,系統會傳回負值錯誤值。

錯誤

ZX_ERR_BAD_HANDLE「resource」不是有效的句柄。

ZX_ERR_WRONG_TYPE 資源不是資源類型 ZX_RSRC_KIND_SYSTEM

ZX_ERR_OUT_OF_RANGE resource 不在 [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 因記憶體不足而失敗。使用者空間無法妥善處理這種 (異常) 錯誤。日後的版本將不會再發生這個錯誤。

另請參閱