摘要
設定 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:代表要設定的項目數量。Topics 可能會對這個值施加要求。
info 是一個指標,指向足夠大小的緩衝區,以容納該類型的 count 項目 由 topic 所指定的類別所構成。
主題
ZX_CPU_PERF_SCALE
count:必須為非零,且小於或等於系統中的邏輯 CPU 數量。
info 類型:zx_cpu_performance_scale_t[count]
zx_cpu_performance_scale_t
陣列,內含指定效能尺度 (純量) 的項目
值,代表系統中各個邏輯 CPU 的相對運作點。僅限
陣列中指定的 CPU 會更新,其他 CPU 則不受影響。
邏輯 CPU 數必須按照陣列中的遞增順序儲存。比例值未帶正負號 32.32 個固定點縮放值應指出 CPU 的相對效能 1.0 對應到系統中最快 CPU 的最高作業系統
請參閱 RFC 0123 ,進一步瞭解值和更新通訊協定。
ZX_POWER_DOMAIN_POWER_LEVEL
count:必須是一個值。
info 類型:zx_power_level_info_t
權限
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
topic 或 info 包含無效的值,或 info 包含順序錯誤的項目。
ZX_ERR_OUT_OF_RANGE
count 或 info 項目值不符合主題的規定。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。使用者空間無法妥善處理這種 (異常) 錯誤。在日後的版本中不會再發生這個錯誤。