1/*
2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#pragma once
8
9#ifdef HAVE_AUTOCONF
10#include <autoconf.h>
11#endif
12
13#ifdef CONFIG_BENCHMARK_TRACK_UTILISATION
14enum benchmark_track_util_ipc_index {
15    /* TCB cap passed in the syscall */
16    /* Number of cycles thread spends scheduled */
17    BENCHMARK_TCB_UTILISATION,
18    /* Number of times thread is scheduled */
19    BENCHMARK_TCB_NUMBER_SCHEDULES,
20    /* Number of cycles thread spends in kernel */
21    BENCHMARK_TCB_KERNEL_UTILISATION,
22    /* Number of times thread enters kernel */
23    BENCHMARK_TCB_NUMBER_KERNEL_ENTRIES,
24
25    /* Idle thread */
26    /* Number of cycles idle thread spends scheduled */
27    BENCHMARK_IDLE_LOCALCPU_UTILISATION,
28    BENCHMARK_IDLE_TCBCPU_UTILISATION,
29    /* Number of times idle thread is scheduled */
30    BENCHMARK_IDLE_NUMBER_SCHEDULES,
31    /* Number of cycles idle thread spends in kernel */
32    BENCHMARK_IDLE_KERNEL_UTILISATION,
33    /* Number of times idle thread enters kernel */
34    BENCHMARK_IDLE_NUMBER_KERNEL_ENTRIES,
35
36    /* Totals for the current core */
37    /* Total cycles used by the core for the period */
38    BENCHMARK_TOTAL_UTILISATION,
39    /* Total number of times the core schedules a different thread */
40    BENCHMARK_TOTAL_NUMBER_SCHEDULES,
41    /* Total cycles spent inside the kernel by the core for the period */
42    BENCHMARK_TOTAL_KERNEL_UTILISATION,
43    /* Total number of times the kernel is entered on the current core */
44    BENCHMARK_TOTAL_NUMBER_KERNEL_ENTRIES,
45};
46
47#endif /* CONFIG_BENCHMARK_TRACK_UTILISATION */
48
49