forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Hierarchical CBS design
Juri Lelli edited this page Feb 19, 2018
·
5 revisions
Development @https://github.com/jlelli/linux/issues/4
FEATURE | DEADLINE | RT |
---|---|---|
affinity | any, since RT entities can freely migrate/be pinned to any (v)CPU of the group | any |
RT_SHARE | tasks migrate | runtime migrates |
hierarchy | only leaf groups can contain tasks; are intermediate nodes RT or DL? | no restriction (might cause starvation!) |
scheduling | EDF at root level/FP between tasks | FP at root level/FP between tasks |
throttling | only with groups (need to see how to include root) | at all levels (including root) |
bandwidth | reserved on each CPU (even if not used, might be reclaimed with GRUB) | used only if tasks are running |
- What to do with RT_RUNTIME_SHARE?
- make tasks migrate to CPUs (servers) with available bandwidth
- what if however a task has restricted affinity and can't migrate?
- Hierachy
- EDF only at root level? Can't be useful to have EDF also between subgroups (e.g., a user that gets a fraction of bandwidth and wants to further divide it)
- tasks only on leaf nodes?
- how to enable throttling at root group level as well? maybe create default (e.g. 95%) servers?
- Unused bandwidth
- use GRUB to let tasks/groups reclaim leftover bandwidth?