zx_system_get_performance_info

摘要

取得 CPU 效能參數。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_system_get_performance_info(zx_handle_t resource,
                                           uint32_t topic,
                                           size_t count,
                                           void* info,
                                           size_t* output_count);

說明

zx_system_get_performance_info() 會要求核心維護的 CPU 效能參數。 topic 參數代表所需的特定資訊。

count:代表要查詢的項目數量。Topics 可能會對這個值施加要求。

info 是一個指標,指向足夠大小的緩衝區,以容納該類型的 count 項目 由 topic 所指定的類別所構成。如果 syscall 傳回錯誤,則儲存在此陣列中的值將為未定義。

output_count 會在成功時更新由核心填入的資訊項目數量。 如果 syscall 傳回錯誤,則儲存在此記憶體位置的值為未定義。

主題

ZX_CPU_PERF_SCALE

count:必須等於系統中的邏輯 CPU 數量。

info 類型:zx_cpu_performance_scale_t[count]

傳回 zx_cpu_performance_scale_t 的陣列,其中包含指出目前成效的項目 系統中的每個邏輯 CPU 的尺度 (代表相對運作點的純量值)。 值會反映最近一次對 zx_system_set_performance_info 的呼叫,即使值 目前還沒有生效的決策

請參閱 RFC 0123 ,進一步瞭解值和更新通訊協定。

ZX_CPU_DEFAULT_PERF_SCALE

count:必須等於系統中的邏輯 CPU 數量。

info 類型:zx_cpu_performance_scale_t[count]

傳回 zx_cpu_performance_scale_t 的陣列,其中包含指出預設效能的項目 為系統建構的每個邏輯 CPU 期間耗用的資源。

請參閱 RFC 0123 ,進一步瞭解詳情

權限

resource 必須具有資源種類 ZX_RSRC_KIND_SYSTEM

傳回值

zx_system_get_performance_info() 會在成功時傳回 ZX_OK。如果系統故障 會傳回負錯誤值。

錯誤

ZX_ERR_BAD_HANDLE資源不是有效的帳號代碼。

ZX_ERR_WRONG_TYPE resource 不是資源類型 ZX_RSRC_KIND_SYSTEM

ZX_ERR_ACCESS_DENIED 資源不在 [ZX_RSRC_SYSTEM_CPU_BASE, ZX_RSRC_SYSTEM_CPU_BASE+1] 範圍內。

ZX_ERR_INVALID_ARGS topicinfooutput_count 的值無效。

ZX_ERR_OUT_OF_RANGE 個計數不符合主題的要求。

ZX_ERR_NO_MEMORY 因記憶體不足而失敗。使用者空間無法妥善處理這種 (異常) 錯誤。在日後的版本中不會再發生這個錯誤。

另請參閱