scx_utils/
enums.rs

1/*
2 * WARNING: This file is autogenerated from scripts/gen_enums.py. If you would
3 * like to access an enum that is currently missing, add it to the script
4 * and run it from the root directory to update this file.
5 */
6
7use crate::compat::read_enum;
8
9#[derive(Debug)]
10#[allow(non_snake_case)]
11pub struct Enums {
12    pub SCX_OPS_NAME_LEN: u64,
13    pub SCX_SLICE_DFL: u64,
14    pub SCX_SLICE_INF: u64,
15    pub SCX_RQ_ONLINE: u64,
16    pub SCX_RQ_CAN_STOP_TICK: u64,
17    pub SCX_RQ_BAL_PENDING: u64,
18    pub SCX_RQ_BAL_KEEP: u64,
19    pub SCX_RQ_BYPASSING: u64,
20    pub SCX_RQ_CLK_VALID: u64,
21    pub SCX_RQ_IN_WAKEUP: u64,
22    pub SCX_RQ_IN_BALANCE: u64,
23    pub SCX_DSQ_FLAG_BUILTIN: u64,
24    pub SCX_DSQ_FLAG_LOCAL_ON: u64,
25    pub SCX_DSQ_INVALID: u64,
26    pub SCX_DSQ_GLOBAL: u64,
27    pub SCX_DSQ_LOCAL: u64,
28    pub SCX_DSQ_LOCAL_ON: u64,
29    pub SCX_DSQ_LOCAL_CPU_MASK: u64,
30    pub SCX_TASK_QUEUED: u64,
31    pub SCX_TASK_RESET_RUNNABLE_AT: u64,
32    pub SCX_TASK_DEQD_FOR_SLEEP: u64,
33    pub SCX_TASK_STATE_SHIFT: u64,
34    pub SCX_TASK_STATE_BITS: u64,
35    pub SCX_TASK_STATE_MASK: u64,
36    pub SCX_TASK_CURSOR: u64,
37    pub SCX_TASK_NONE: u64,
38    pub SCX_TASK_INIT: u64,
39    pub SCX_TASK_READY: u64,
40    pub SCX_TASK_ENABLED: u64,
41    pub SCX_TASK_NR_STATES: u64,
42    pub SCX_TASK_DSQ_ON_PRIQ: u64,
43    pub SCX_KICK_IDLE: u64,
44    pub SCX_KICK_PREEMPT: u64,
45    pub SCX_KICK_WAIT: u64,
46    pub SCX_ENQ_WAKEUP: u64,
47    pub SCX_ENQ_HEAD: u64,
48    pub SCX_ENQ_PREEMPT: u64,
49    pub SCX_ENQ_REENQ: u64,
50    pub SCX_ENQ_LAST: u64,
51    pub SCX_ENQ_CLEAR_OPSS: u64,
52    pub SCX_ENQ_DSQ_PRIQ: u64,
53}
54
55lazy_static::lazy_static! {
56    pub static ref scx_enums: Enums = Enums {
57        SCX_OPS_NAME_LEN: read_enum("scx_public_consts","SCX_OPS_NAME_LEN").unwrap_or(0),
58        SCX_SLICE_DFL: read_enum("scx_public_consts","SCX_SLICE_DFL").unwrap_or(0),
59        SCX_SLICE_INF: read_enum("scx_public_consts","SCX_SLICE_INF").unwrap_or(0),
60        SCX_RQ_ONLINE: read_enum("scx_rq_flags","SCX_RQ_ONLINE").unwrap_or(0),
61        SCX_RQ_CAN_STOP_TICK: read_enum("scx_rq_flags","SCX_RQ_CAN_STOP_TICK").unwrap_or(0),
62        SCX_RQ_BAL_PENDING: read_enum("scx_rq_flags","SCX_RQ_BAL_PENDING").unwrap_or(0),
63        SCX_RQ_BAL_KEEP: read_enum("scx_rq_flags","SCX_RQ_BAL_KEEP").unwrap_or(0),
64        SCX_RQ_BYPASSING: read_enum("scx_rq_flags","SCX_RQ_BYPASSING").unwrap_or(0),
65        SCX_RQ_CLK_VALID: read_enum("scx_rq_flags","SCX_RQ_CLK_VALID").unwrap_or(0),
66        SCX_RQ_IN_WAKEUP: read_enum("scx_rq_flags","SCX_RQ_IN_WAKEUP").unwrap_or(0),
67        SCX_RQ_IN_BALANCE: read_enum("scx_rq_flags","SCX_RQ_IN_BALANCE").unwrap_or(0),
68        SCX_DSQ_FLAG_BUILTIN: read_enum("scx_dsq_id_flags","SCX_DSQ_FLAG_BUILTIN").unwrap_or(0),
69        SCX_DSQ_FLAG_LOCAL_ON: read_enum("scx_dsq_id_flags","SCX_DSQ_FLAG_LOCAL_ON").unwrap_or(0),
70        SCX_DSQ_INVALID: read_enum("scx_dsq_id_flags","SCX_DSQ_INVALID").unwrap_or(0),
71        SCX_DSQ_GLOBAL: read_enum("scx_dsq_id_flags","SCX_DSQ_GLOBAL").unwrap_or(0),
72        SCX_DSQ_LOCAL: read_enum("scx_dsq_id_flags","SCX_DSQ_LOCAL").unwrap_or(0),
73        SCX_DSQ_LOCAL_ON: read_enum("scx_dsq_id_flags","SCX_DSQ_LOCAL_ON").unwrap_or(0),
74        SCX_DSQ_LOCAL_CPU_MASK: read_enum("scx_dsq_id_flags","SCX_DSQ_LOCAL_CPU_MASK").unwrap_or(0),
75        SCX_TASK_QUEUED: read_enum("scx_ent_flags","SCX_TASK_QUEUED").unwrap_or(0),
76        SCX_TASK_RESET_RUNNABLE_AT: read_enum("scx_ent_flags","SCX_TASK_RESET_RUNNABLE_AT").unwrap_or(0),
77        SCX_TASK_DEQD_FOR_SLEEP: read_enum("scx_ent_flags","SCX_TASK_DEQD_FOR_SLEEP").unwrap_or(0),
78        SCX_TASK_STATE_SHIFT: read_enum("scx_ent_flags","SCX_TASK_STATE_SHIFT").unwrap_or(0),
79        SCX_TASK_STATE_BITS: read_enum("scx_ent_flags","SCX_TASK_STATE_BITS").unwrap_or(0),
80        SCX_TASK_STATE_MASK: read_enum("scx_ent_flags","SCX_TASK_STATE_MASK").unwrap_or(0),
81        SCX_TASK_CURSOR: read_enum("scx_ent_flags","SCX_TASK_CURSOR").unwrap_or(0),
82        SCX_TASK_NONE: read_enum("scx_task_state","SCX_TASK_NONE").unwrap_or(0),
83        SCX_TASK_INIT: read_enum("scx_task_state","SCX_TASK_INIT").unwrap_or(0),
84        SCX_TASK_READY: read_enum("scx_task_state","SCX_TASK_READY").unwrap_or(0),
85        SCX_TASK_ENABLED: read_enum("scx_task_state","SCX_TASK_ENABLED").unwrap_or(0),
86        SCX_TASK_NR_STATES: read_enum("scx_task_state","SCX_TASK_NR_STATES").unwrap_or(0),
87        SCX_TASK_DSQ_ON_PRIQ: read_enum("scx_ent_dsq_flags","SCX_TASK_DSQ_ON_PRIQ").unwrap_or(0),
88        SCX_KICK_IDLE: read_enum("scx_kick_flags","SCX_KICK_IDLE").unwrap_or(0),
89        SCX_KICK_PREEMPT: read_enum("scx_kick_flags","SCX_KICK_PREEMPT").unwrap_or(0),
90        SCX_KICK_WAIT: read_enum("scx_kick_flags","SCX_KICK_WAIT").unwrap_or(0),
91        SCX_ENQ_WAKEUP: read_enum("scx_enq_flags","SCX_ENQ_WAKEUP").unwrap_or(0),
92        SCX_ENQ_HEAD: read_enum("scx_enq_flags","SCX_ENQ_HEAD").unwrap_or(0),
93        SCX_ENQ_PREEMPT: read_enum("scx_enq_flags","SCX_ENQ_PREEMPT").unwrap_or(0),
94        SCX_ENQ_REENQ: read_enum("scx_enq_flags","SCX_ENQ_REENQ").unwrap_or(0),
95        SCX_ENQ_LAST: read_enum("scx_enq_flags","SCX_ENQ_LAST").unwrap_or(0),
96        SCX_ENQ_CLEAR_OPSS: read_enum("scx_enq_flags","SCX_ENQ_CLEAR_OPSS").unwrap_or(0),
97        SCX_ENQ_DSQ_PRIQ: read_enum("scx_enq_flags","SCX_ENQ_DSQ_PRIQ").unwrap_or(0),
98    };
99}
100
101#[rustfmt::skip]
102#[macro_export]
103macro_rules! import_enums {
104    ($skel: ident) => { 'block : {
105        $skel.maps.rodata_data.__SCX_OPS_NAME_LEN = $crate::scx_enums.SCX_OPS_NAME_LEN;
106        $skel.maps.rodata_data.__SCX_SLICE_DFL = $crate::scx_enums.SCX_SLICE_DFL;
107        $skel.maps.rodata_data.__SCX_SLICE_INF = $crate::scx_enums.SCX_SLICE_INF;
108        $skel.maps.rodata_data.__SCX_RQ_ONLINE = $crate::scx_enums.SCX_RQ_ONLINE;
109        $skel.maps.rodata_data.__SCX_RQ_CAN_STOP_TICK = $crate::scx_enums.SCX_RQ_CAN_STOP_TICK;
110        $skel.maps.rodata_data.__SCX_RQ_BAL_PENDING = $crate::scx_enums.SCX_RQ_BAL_PENDING;
111        $skel.maps.rodata_data.__SCX_RQ_BAL_KEEP = $crate::scx_enums.SCX_RQ_BAL_KEEP;
112        $skel.maps.rodata_data.__SCX_RQ_BYPASSING = $crate::scx_enums.SCX_RQ_BYPASSING;
113        $skel.maps.rodata_data.__SCX_RQ_CLK_VALID = $crate::scx_enums.SCX_RQ_CLK_VALID;
114        $skel.maps.rodata_data.__SCX_RQ_IN_WAKEUP = $crate::scx_enums.SCX_RQ_IN_WAKEUP;
115        $skel.maps.rodata_data.__SCX_RQ_IN_BALANCE = $crate::scx_enums.SCX_RQ_IN_BALANCE;
116        $skel.maps.rodata_data.__SCX_DSQ_FLAG_BUILTIN = $crate::scx_enums.SCX_DSQ_FLAG_BUILTIN;
117        $skel.maps.rodata_data.__SCX_DSQ_FLAG_LOCAL_ON = $crate::scx_enums.SCX_DSQ_FLAG_LOCAL_ON;
118        $skel.maps.rodata_data.__SCX_DSQ_INVALID = $crate::scx_enums.SCX_DSQ_INVALID;
119        $skel.maps.rodata_data.__SCX_DSQ_GLOBAL = $crate::scx_enums.SCX_DSQ_GLOBAL;
120        $skel.maps.rodata_data.__SCX_DSQ_LOCAL = $crate::scx_enums.SCX_DSQ_LOCAL;
121        $skel.maps.rodata_data.__SCX_DSQ_LOCAL_ON = $crate::scx_enums.SCX_DSQ_LOCAL_ON;
122        $skel.maps.rodata_data.__SCX_DSQ_LOCAL_CPU_MASK = $crate::scx_enums.SCX_DSQ_LOCAL_CPU_MASK;
123        $skel.maps.rodata_data.__SCX_TASK_QUEUED = $crate::scx_enums.SCX_TASK_QUEUED;
124        $skel.maps.rodata_data.__SCX_TASK_RESET_RUNNABLE_AT = $crate::scx_enums.SCX_TASK_RESET_RUNNABLE_AT;
125        $skel.maps.rodata_data.__SCX_TASK_DEQD_FOR_SLEEP = $crate::scx_enums.SCX_TASK_DEQD_FOR_SLEEP;
126        $skel.maps.rodata_data.__SCX_TASK_STATE_SHIFT = $crate::scx_enums.SCX_TASK_STATE_SHIFT;
127        $skel.maps.rodata_data.__SCX_TASK_STATE_BITS = $crate::scx_enums.SCX_TASK_STATE_BITS;
128        $skel.maps.rodata_data.__SCX_TASK_STATE_MASK = $crate::scx_enums.SCX_TASK_STATE_MASK;
129        $skel.maps.rodata_data.__SCX_TASK_CURSOR = $crate::scx_enums.SCX_TASK_CURSOR;
130        $skel.maps.rodata_data.__SCX_TASK_NONE = $crate::scx_enums.SCX_TASK_NONE;
131        $skel.maps.rodata_data.__SCX_TASK_INIT = $crate::scx_enums.SCX_TASK_INIT;
132        $skel.maps.rodata_data.__SCX_TASK_READY = $crate::scx_enums.SCX_TASK_READY;
133        $skel.maps.rodata_data.__SCX_TASK_ENABLED = $crate::scx_enums.SCX_TASK_ENABLED;
134        $skel.maps.rodata_data.__SCX_TASK_NR_STATES = $crate::scx_enums.SCX_TASK_NR_STATES;
135        $skel.maps.rodata_data.__SCX_TASK_DSQ_ON_PRIQ = $crate::scx_enums.SCX_TASK_DSQ_ON_PRIQ;
136        $skel.maps.rodata_data.__SCX_KICK_IDLE = $crate::scx_enums.SCX_KICK_IDLE;
137        $skel.maps.rodata_data.__SCX_KICK_PREEMPT = $crate::scx_enums.SCX_KICK_PREEMPT;
138        $skel.maps.rodata_data.__SCX_KICK_WAIT = $crate::scx_enums.SCX_KICK_WAIT;
139        $skel.maps.rodata_data.__SCX_ENQ_WAKEUP = $crate::scx_enums.SCX_ENQ_WAKEUP;
140        $skel.maps.rodata_data.__SCX_ENQ_HEAD = $crate::scx_enums.SCX_ENQ_HEAD;
141        $skel.maps.rodata_data.__SCX_ENQ_PREEMPT = $crate::scx_enums.SCX_ENQ_PREEMPT;
142        $skel.maps.rodata_data.__SCX_ENQ_REENQ = $crate::scx_enums.SCX_ENQ_REENQ;
143        $skel.maps.rodata_data.__SCX_ENQ_LAST = $crate::scx_enums.SCX_ENQ_LAST;
144        $skel.maps.rodata_data.__SCX_ENQ_CLEAR_OPSS = $crate::scx_enums.SCX_ENQ_CLEAR_OPSS;
145        $skel.maps.rodata_data.__SCX_ENQ_DSQ_PRIQ = $crate::scx_enums.SCX_ENQ_DSQ_PRIQ;
146    }};
147}