18 #ifndef _COBALT_UAPI_SCHED_H
19 #define _COBALT_UAPI_SCHED_H
21 #define SCHED_COBALT 42
24 #ifndef SCHED_SPORADIC
25 #define SCHED_SPORADIC 10
26 #define sched_ss_low_priority sched_u.ss.__sched_low_priority
27 #define sched_ss_repl_period sched_u.ss.__sched_repl_period
28 #define sched_ss_init_budget sched_u.ss.__sched_init_budget
29 #define sched_ss_max_repl sched_u.ss.__sched_max_repl
32 struct __sched_ss_param {
33 int __sched_low_priority;
34 struct timespec __sched_repl_period;
35 struct timespec __sched_init_budget;
39 #define sched_rr_quantum sched_u.rr.__sched_rr_quantum
41 struct __sched_rr_param {
42 struct timespec __sched_rr_quantum;
47 #define sched_tp_partition sched_u.tp.__sched_partition
50 struct __sched_tp_param {
51 int __sched_partition;
54 struct sched_tp_window {
55 struct timespec offset;
56 struct timespec duration;
60 struct __sched_config_tp {
62 struct sched_tp_window windows[0];
65 #define sched_tp_confsz(nr_win) \
66 (sizeof(struct __sched_config_tp) + nr_win * sizeof(struct sched_tp_window))
69 #define SCHED_QUOTA 12
70 #define sched_quota_group sched_u.quota.__sched_group
73 struct __sched_quota_param {
80 sched_quota_force_remove,
85 struct __sched_config_quota {
103 struct __sched_quota_info {
111 #define sched_quota_confsz() sizeof(struct __sched_config_quota)
113 struct sched_param_ex {
116 struct __sched_ss_param ss;
117 struct __sched_rr_param rr;
118 struct __sched_tp_param tp;
119 struct __sched_quota_param quota;
124 struct __sched_config_tp tp;
125 struct __sched_config_quota quota;