Re: Soon committing the "256-queue runqueue" scheduler work
Date: Fri, 06 Jun 2025 16:26:11 UTC
On Thu, 5 Jun 2025, Olivier Certner wrote: Hi, > 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). below you are telling us what is changing. Can you tell us the 'why?' as well, as what this work is trying to solve/improve? I am sure there was a reason to do all this? > 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. > > -- Bjoern A. Zeeb r15:7