cobalt/sched: introduce SCHED_QUOTA policy
The SCHED_QUOTA policy enforces a limitation on the CPU consumption of threads over a globally defined period, known as the quota interval. This is done by pooling threads with common requirements in groups, and giving each group a share of the global period (CONFIG_XENO_OPT_SCHED_QUOTA_PERIOD). When threads have entirely consumed the quota allotted to the group they belong to, the latter is suspended as a whole, until the next quota interval starts. At this point, a new runtime budget is given to each group, in accordance with its share.
Showing with 1318 additions and 333 deletions