git: 06ffb01fa0 - main - Status/2026Q2/scheduler.adoc: Add report
Olivier Certner <[email protected]> Tue, 14 Jul 2026 15:20:17 +0000
| Newsgroups | gmane.os.freebsd.devel.cvs.doc |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/doc/commit/?id=06ffb01fa0c9306bf28e6bbd4e0d3426e2746257 commit 06ffb01fa0c9306bf28e6bbd4e0d3426e2746257 Author: Olivier Certner <[email protected]> AuthorDate: 2026-07-06 12:58:52 +0000 Commit: Olivier Certner <[email protected]> CommitDate: 2026-07-14 15:19:07 +0000 Status/2026Q2/scheduler.adoc: Add report Reviewed by: salvadore Discussed with: Graham Percival <gperciva_tarsnap.com> Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58051 --- .../status/report-2026-04-2026-06/scheduler.adoc | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/scheduler.adoc b/website/content/en/status/report-2026-04-2026-06/scheduler.adoc new file mode 100644 index 0000000000..7e582d8810 --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/scheduler.adoc @@ -0,0 +1,31 @@ +=== Scheduler + +Links: + +link:https://wiki.freebsd.org/DevSummit/202606[DevSummit Wiki page] URL: https://wiki.freebsd.org/DevSummit/202606 + +link:https://wiki.freebsd.org/DevSummit/202606?action=AttachFile&do=view&target=Scheduler.pdf[Slides] URL: https://wiki.freebsd.org/DevSummit/202606?action=AttachFile&do=view&target=Scheduler.pdf + +Contact: Olivier Certner <[email protected]> + +Ongoing work is happening in the area of schedulers along multiple axes. + +We are working on solutions to long-standing shortcomings in the ULE scheduler such as unfairness for non-interactive threads in certain particular circumstances and the very weak effect of nice values. +It seems difficult to solve the first in full with ULE's current design, so in parallel we have been sketching a new design with the following additional aims: + +1. More stable and predictable behavior. +2. Separately controllable latency and allocated CPU. +3. Enabling new features like scheduling on hybrid CPUs, power-aware scheduling, hierarchical scheduling, etc. while retaining fairness. + +We have also been reviewing the 4BSD and ULE schedulers in detail, leading to some bug fixes, such as: + +- Priority conflation of differently-niced CPU-bound threads (4BSD) +- Priority diminishing too slowly when consuming CPU, because of some obsolete SMP scaling (4BSD) +- Fix off by one in `preempt_thresh` parameter definition (ULE) +- Fix selecting lowest priority thread early in some corner cases (ULE) +- Stop consuming memory linearly with `MAXCPU` for local runqueues (4BSD; by Minsoo Choo). + +A presentation was done at BSDCan 2026's Developer Summit on these matters (see link at the top). + +On the hybrid scheduling front, a number of reviews have been created by Koine Yuusuke with code to support Intel Hardware Feedback Interface (HFI) and Thread Director (ITD), and a common infrastructure for capacities and scores was proposed by Minsoo Choo. +We will review and shepherd these submissions. + +Sponsor: The FreeBSD Foundation