18 #ifndef _COBALT_UAPI_SCHED_H 19 #define _COBALT_UAPI_SCHED_H 21 #define SCHED_COBALT 42 25 #define __SCHED_CURRENT 44 27 #ifndef SCHED_SPORADIC 28 #define SCHED_SPORADIC 10 29 #define sched_ss_low_priority sched_u.ss.__sched_low_priority 30 #define sched_ss_repl_period sched_u.ss.__sched_repl_period 31 #define sched_ss_init_budget sched_u.ss.__sched_init_budget 32 #define sched_ss_max_repl sched_u.ss.__sched_max_repl 35 struct __sched_ss_param {
36 int __sched_low_priority;
37 struct timespec __sched_repl_period;
38 struct timespec __sched_init_budget;
42 #define sched_rr_quantum sched_u.rr.__sched_rr_quantum 44 struct __sched_rr_param {
45 struct timespec __sched_rr_quantum;
50 #define sched_tp_partition sched_u.tp.__sched_partition 53 struct __sched_tp_param {
54 int __sched_partition;
57 struct sched_tp_window {
58 struct timespec offset;
59 struct timespec duration;
70 struct __sched_config_tp {
73 struct sched_tp_window windows[0];
76 #define sched_tp_confsz(nr_win) \ 77 (sizeof(struct __sched_config_tp) + nr_win * sizeof(struct sched_tp_window)) 80 #define SCHED_QUOTA 12 81 #define sched_quota_group sched_u.quota.__sched_group 84 struct __sched_quota_param {
91 sched_quota_force_remove,
96 struct __sched_config_quota {
114 struct __sched_quota_info {
122 #define sched_quota_confsz() sizeof(struct __sched_config_quota) 124 struct sched_param_ex {
127 struct __sched_ss_param ss;
128 struct __sched_rr_param rr;
129 struct __sched_tp_param tp;
130 struct __sched_quota_param quota;
135 struct __sched_config_tp tp;
136 struct __sched_config_quota quota;