Soon committing the "256-queue runqueue" scheduler work
- Reply: Bjoern A. Zeeb: "Re: Soon committing the "256-queue runqueue" scheduler work"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 04 Jun 2025 22:13:30 UTC
Hello, I'm planning to commit into main/-CURRENT (with a one-month MFC) the "256-queue runqueue" scheduler work and related commits (see the series of reviews starting at https://reviews.freebsd.org/D45387). The user-visible effects of it should be: - The 32 realtime priority levels, and the 32 idle priority ones, are now going to be really distinct. Previously, levels with the same quotient when divided by 4 were aliased (separately in each class). - Priority numbers (under PRI in top(1) and ps(1)) will change (conveniently, 0 will now be the first (=highest priority) timesharing level; negative values thus indicate any high priority thread that can preempt timesharing or idle-priority ones). - Accuracy of reported %CPU per-thread will improve slightly (when using ^T, ps(1) or systat(1), or in applications using field 'ki_pctcpu' of 'struct kinfo_proc'). - Perhaps tiny latency improvements (in average and stddev), although these may not be considered statistically significant. All other scheduler characteristics should be practically unchanged. The code changes have been mostly done almost a year ago, and have been tested since then on various machines and workloads, and also with specific tests for ensuring that fairness, anti-starvation and nice values behaviors have not been changes. Please see in particular D46566 for more details. If some are interested to have a look at this work and have not seized the opportunity yet, now would be a good time to do so. Thanks and regards. -- Olivier Certner