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;
67 struct __sched_config_tp {
70 struct sched_tp_window windows[0];
73 #define sched_tp_confsz(nr_win) \ 74 (sizeof(struct __sched_config_tp) + nr_win * sizeof(struct sched_tp_window)) 77 #define SCHED_QUOTA 12 78 #define sched_quota_group sched_u.quota.__sched_group 81 struct __sched_quota_param {
88 sched_quota_force_remove,
93 struct __sched_config_quota {
111 struct __sched_quota_info {
119 #define sched_quota_confsz() sizeof(struct __sched_config_quota) 121 struct sched_param_ex {
124 struct __sched_ss_param ss;
125 struct __sched_rr_param rr;
126 struct __sched_tp_param tp;
127 struct __sched_quota_param quota;
132 struct __sched_config_tp tp;
133 struct __sched_config_quota quota;