Структура, содержащая статистику использования ресурсов CPU партицией адаптивного планировщика
#include <sys/sched_aps.h>
#include <sys/neutrino.h>
typedef struct {
_Int16t id;
_Uint64t run_time_cycles;
_Uint64t critical_time_cycles;
_Uint64t run_time_cycles_w2;
_Uint64t critical_time_cycles_w2;
_Uint64t run_time_cycles_w3;
_Uint64t critical_time_cycles_w3;
_Uint32t stats_flags;
} sched_aps_partition_stats;
Структура используется в функции SchedCtl() в сочетании с командой SCHED_APS_PARTITION_STATS для получения статистики использования ресурсов CPU партицией адаптивного планировщика.
Структура включает следующие поля:
- id
- Поле входных и выходных данных. В качестве входных данных это идентификационный номер первой партиции, для которой требуется получить данные. Если был передан массив структур
sched_aps_partition_stats
, команда заполняет идентификационный номер для каждой партиции, для которой она заполняет статистику. - run_time_cycles
- Время выполнения ЦП в течение последнего окна планирования.
- critical_time_cycles
- Время, затраченное на выполнение критических потоков в течение последнего окна планирования.
- run_time_cycles_w2
- Время ЦП, затраченное в течение последнего windowsize2_cycles. Окно 2 обычно в
10
раз длиннее окна окна усреднения. - critical_time_cycles_w2
- Время, затраченное на выполнение критических потоков в течение последнего windowsize2_cycles.
- run_time_cycles_w3
- Время ЦП, затраченное в течение последнего windowsize3_cycles. Окно 3 обычно в
100
раз длиннее окна усреднения. - critical_time_cycles_w3
- Время, затраченное на выполнение критических потоков в течение последнего windowsize3_cycles
- stats_flags
- Набор следующих флагов:
- SCHED_APS_PSTATS_IS_BANKRUPT_NOW
- используемое критическое время превышает критический бюджет на момент использования команды
SCHED_APS_PARTITION_STATS
. - SCHED_APS_PSTATS_WAS_BANKRUPT
- партиция была объявлена банкротом после последней перезагрузки.
ЗОСРВ «Нейтрино»
SchedCtl()
Предыдущий раздел: Описание API системной библиотеки