Follow-up to #346 / SCHED_MIC (#385).
#346 calls for explicit anti-starvation measures (fairness sweeps, per-core-class wait-time tracking, priority boosts for long-waiting threads). SCHED_MIC avoids starvation only structurally — the preference is soft and the balancer is class-blind, so lower-class cores always get used — but there is no explicit wait-time accounting or fairness sweep.
Goal: add per-core-class wait-time tracking and a periodic fairness mechanism (or confirm via testing that the soft-preference design is sufficient and document that conclusion). Validate under oversubscribed, mixed workloads.
Relevant code: sys/kern/sched_mic.c.
Follow-up to #346 / SCHED_MIC (#385).
#346 calls for explicit anti-starvation measures (fairness sweeps, per-core-class wait-time tracking, priority boosts for long-waiting threads). SCHED_MIC avoids starvation only structurally — the preference is soft and the balancer is class-blind, so lower-class cores always get used — but there is no explicit wait-time accounting or fairness sweep.
Goal: add per-core-class wait-time tracking and a periodic fairness mechanism (or confirm via testing that the soft-preference design is sufficient and document that conclusion). Validate under oversubscribed, mixed workloads.
Relevant code:
sys/kern/sched_mic.c.