From: "Doug Smythies" <dsmythies@telus.net>
To: "'Christian Loehle'" <christian.loehle@arm.com>
Cc: "'Dietmar Eggemann'" <dietmar.eggemann@arm.com>,
"'Steven Rostedt'" <rostedt@goodmis.org>,
"'Ben Segall'" <bsegall@google.com>,
"'Mel Gorman'" <mgorman@suse.de>,
"'Valentin Schneider'" <vschneid@redhat.com>,
"'K Prateek Nayak'" <kprateek.nayak@amd.com>,
"'Beata Michalska'" <beata.michalska@arm.com>,
"'Elif Topuz'" <elif.topuz@arm.com>,
"'Rafael J . Wysocki'" <rafael@kernel.org>,
"'Daniel Lezcano'" <daniel.lezcano@kernel.org>,
"'Shubhang Kaushik'" <sh@gentwo.org>,
"'Christoph Lameter'" <cl@gentwo.org>,
"'Ingo Molnar'" <mingo@redhat.com>,
"'Huang Shijie'" <shijie@os.amperecomputing.com>,
<linux-kernel@vger.kernel.org>, <linux-pm@vger.kernel.org>,
"'Peter Zijlstra'" <peterz@infradead.org>,
"'Juri Lelli'" <juri.lelli@redhat.com>,
"'Vincent Guittot'" <vincent.guittot@linaro.org>,
"Doug Smythies" <dsmythies@telus.net>
Subject: RE: [PATCH v2 0/2] sched/fair: Randomize equally shallow idle CPU picks
Date: Thu, 24 Sep 2026 17:03:29 -0700 [thread overview]
Message-ID: <008901dd4c81$4c95c9c0$e5c15d40$@telus.net> (raw)
In-Reply-To: <20260917153915.1563875-1-christian.loehle@arm.com>
[-- Attachment #1: Type: text/plain, Size: 2621 bytes --]
On 2026.09.17 08:39 Christian Loehle wrote:
> Concurrent slow-path selectors can converge on the same idle CPU before
> either task is enqueued. Remove the idle-recency preference and randomize
> equal-latency choices in a single scan.
>
> The testing platform is a 160-CPU, dual-socket Altra with unusually large
> 80-CPU candidate groups at NUMA level.
>
> Median stress-ng throughput (bogo ops/s):
>
> --fork --fork-max Baseline Patched Change
> ------------------------------------------------------
> 1 1 779.19 829.82 +6.50%
> 16 1 5070.95 5277.62 +4.08%
> 16 4 7692.64 7963.30 +3.52%
> 32 1 8662.82 8733.79 +0.82%
> 64 1 11880.47 12001.01 +1.01%
...
I tried this patch set on my test computer with a Intel
i5-10600K processor. 6 cores, 12 CPUs.
Kernel 7.3-rc3 = baseline
+ this patch set = cl-rand
Conclusion: In general, this patch set was a 1 to 3% improvement.
Note: Test repeatability was a struggle. In the end 2 methods
were used:
1.) flush memory before each test.
2.) to achieve steady state dwell for 15 minutes then use the data afterwards.
Test 1:
9 forks, 60 seconds per test, 25 tests:
Baseline average 65867.05 bogo ops/sec
cl-rand average: 66832.20 bogo ops/sec
change: +1.47%
see also attached graph repeat.png
Test 2: (180 seconds per test)
Forks baseline cl-rand change
1 12071.48 12367.39 2.45%
2 22602.59 23497.74 3.96%
3 32213.33 32462.99 0.78%
4 39746.02 40087.31 0.86%
5 45360.23 47015.42 3.65%
6 54130.07 56579.27 4.52%
7 56944.66 59386.18 4.29%
8 62117.57 63722.8 2.58%
9 62897.63 66471.27 5.68%
10 68009.88 68252.56 0.36%
11 69676.68 71783.96 3.02%
12 75560.96 76041.47 0.64%
13 79663.55 83064.74 4.27%
14 84745.02 85474.34 0.86%
15 85057.97 87075.07 2.37%
16 84897.81 87075.36 2.56%
17 84934.24 86977.66 2.41%
18 84857.44 87068.16 2.61%
19 84300.27 86398.89 2.49%
20 82743.13 86399.7 4.42%
21 84262.03 83751.36 -0.61%
22 83497.87 85038.63 1.85%
23 82650.21 85242.53 3.14%
24 82105.6 84055.71 2.38%
25 82526.08 83319.76 0.96%
Test 3:
9 forks, 3600 second dwell test, data every 20 seconds.
Averages calculated from 17 to 56.67 minutes into test.
The first 17 minutes of data was not used.
Baseline average 59740.52 bogo ops/sec
cl-rand average: 61199.35 bogo ops/sec
change: +2.44%
see also attached graph dwell.png
Test 4:
Concurrent random hdd disk reads from a 500 Gigabyte file.
As the requested jobs per second begins to backup
the patched kernel does better.
See the attached graph actual.png
... Doug
[-- Attachment #2: repeat.png --]
[-- Type: image/png, Size: 37986 bytes --]
[-- Attachment #3: dwell.png --]
[-- Type: image/png, Size: 30229 bytes --]
[-- Attachment #4: actual.png --]
[-- Type: image/png, Size: 38451 bytes --]
prev parent reply other threads:[~2026-09-25 0:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-17 15:39 Christian Loehle
2026-09-17 15:39 ` [PATCH v2 1/2] sched/fair: Drop idle recency from slow-path CPU selection Christian Loehle
2026-09-25 10:54 ` [tip: sched/core] " tip-bot2 for Christian Loehle
2026-09-17 15:39 ` [PATCH v2 2/2] sched/fair: Randomize equally shallow slow-path candidates Christian Loehle
2026-09-17 16:06 ` Vincent Guittot
2026-09-18 11:43 ` Peter Zijlstra
2026-09-21 15:39 ` Christian Loehle
2026-09-25 10:54 ` [tip: sched/core] " tip-bot2 for Christian Loehle
2026-09-25 0:03 ` Doug Smythies [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='008901dd4c81$4c95c9c0$e5c15d40$@telus.net' \
--to=dsmythies@telus.net \
--cc=beata.michalska@arm.com \
--cc=bsegall@google.com \
--cc=christian.loehle@arm.com \
--cc=cl@gentwo.org \
--cc=daniel.lezcano@kernel.org \
--cc=dietmar.eggemann@arm.com \
--cc=elif.topuz@arm.com \
--cc=juri.lelli@redhat.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=rostedt@goodmis.org \
--cc=sh@gentwo.org \
--cc=shijie@os.amperecomputing.com \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®