Re: Soon committing the "256-queue runqueue" scheduler work

From: Bjoern A. Zeeb <bzeeb-lists_at_lists.zabbadoz.net>
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