lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <63d22eb9-b309-4d11-aa56-3f1e7e12edb1@arm.com>
Date: Fri, 9 Jan 2026 10:15:46 +0000
From: Ryan Roberts <ryan.roberts@....com>
To: Mel Gorman <mgorman@...hsingularity.net>,
 Dietmar Eggemann <dietmar.eggemann@....com>
Cc: "Peter Zijlstra (Intel)" <peterz@...radead.org>, x86@...nel.org,
 linux-kernel@...r.kernel.org, Aishwarya TCV <Aishwarya.TCV@....com>
Subject: Re: [REGRESSION] sched/fair: Reimplement NEXT_BUDDY to align with
 EEVDF goals

On 08/01/2026 13:15, Ryan Roberts wrote:
> On 08/01/2026 08:50, Mel Gorman wrote:
>> On Wed, Jan 07, 2026 at 04:30:09PM +0100, Dietmar Eggemann wrote:
>>> On 05.01.26 12:45, Ryan Roberts wrote:
>>>> On 02/01/2026 15:52, Dietmar Eggemann wrote:
>>>>> On 02.01.26 13:38, Ryan Roberts wrote:
>>>
>>> [...]
>>>
>>
>> Sorry for slow responses. I'm still back from holidays yet and unfortunately
>> do not have access to test machines right now cannot revalidate any of
>> the results against 6.19-rc*.
> 
> No problem, thanks for getting back to me!
> 
>>
>>>>>>> All testing is done on AWS Graviton3 (arm64) bare metal systems. (R)/(I) mean 
>>>>>>> statistically significant regression/improvement, where "statistically 
>>>>>>> significant" means the 95% confidence intervals do not overlap".
>>>>>
>>>>> You mentioned that you reverted this patch 'patch 2/2 'sched/fair:
>>>>> Reimplement NEXT_BUDDY to align with EEVDF goals'.
>>>>>
>>>>> Does this mean NEXT_BUDDY is still enabled, i.e. you haven't reverted
>>>>> patch 1/2 'sched/fair: Enable scheduler feature NEXT_BUDDY' as well?
>>>>
>>>> Yes that's correct; patch 1 is still present. I could revert that as well and rerun if useful?
>>>
>>> Well, I assume this would be more valuable.
>>
>> Agreed because we need to know if it's NEXT_BUDDY that is conceptually
>> an issue with EEVDF in these cases or the specific implementation. The
>> comparison between 
>>
>> 6.18A					(baseline)
>> 6.19-rcN vanilla			(New NEXT_BUDDY implementation enabled)
>> 6.19-rcN revert patches 1+2		(NEXT_BUDDY disabled)
>> 6.19-rcN revert patch 2 only		(Old NEXT_BUDDY implementation enabled)
> 
> OK, I've already got 1, 2 and 4. Let me grab 3 and come back to you - hopefully
> tomorrow. Then we can take it from there.

Hi Mel, Dietmar,

Here are the updated results, now including column for "revert #1 & #2".

6-18-0 (base)		(baseline)
6-19-0-rc1		(New NEXT_BUDDY implementation enabled)
revert #1 & #2		(NEXT_BUDDY disabled)
revert #2		(Old NEXT_BUDDY implementation enabled)


The regressions that are fixed by "revert #2" (as originally reported) are still 
fixed in "revert #1 & #2". Interestingly, performance actually improves further 
for the latter in the multi-node mysql benchmark (which is our VIP workload). 
There are a couple of hackbench cases (sockets with high thread counts) that 
showed an improvement with "revert #2" but which is gone with "revert #1 & #2".

Let me know if I can usefully do anything else.


Multi-node SUT (workload running across 2 machines):

+---------------------------------+----------------------------------------------------+---------------+-------------+------------+----------------+
| Benchmark                       | Result Class                                       | 6-18-0 (base) |  6-19-0-rc1 |  revert #2 | revert #1 & #2 |
+=================================+====================================================+===============+=============+============+================+
| repro-collection/mysql-workload | db transaction rate (transactions/min)             |     646267.33 |  (R) -1.33% |  (I) 5.87% |      (I) 7.63% |
|                                 | new order rate (orders/min)                        |     213256.50 |  (R) -1.32% |  (I) 5.87% |      (I) 7.64% |
+---------------------------------+----------------------------------------------------+---------------+-------------+------------+----------------+

Single-node SUT (workload running on single machine):

+---------------------------------+----------------------------------------------------+---------------+-------------+------------+----------------+
| Benchmark                       | Result Class                                       | 6-18-0 (base) |  6-19-0-rc1 |  revert #2 | revert #1 & #2 |
+=================================+====================================================+===============+=============+============+================+
| specjbb/composite               | critical-jOPS (jOPS)                               |      94700.00 |  (R) -5.10% |     -0.90% |         -0.37% |
|                                 | max-jOPS (jOPS)                                    |     113984.50 |  (R) -3.90% |     -0.65% |          0.65% |
+---------------------------------+----------------------------------------------------+---------------+-------------+------------+----------------+
| repro-collection/mysql-workload | db transaction rate (transactions/min)             |     245438.25 |  (R) -3.88% |     -0.13% |          0.24% |
|                                 | new order rate (orders/min)                        |      80985.75 |  (R) -3.78% |     -0.07% |          0.29% |
+---------------------------------+----------------------------------------------------+---------------+-------------+------------+----------------+
| pts/pgbench                     | Scale: 1 Clients: 1 Read Only (TPS)                |      63124.00 |   (I) 2.90% |      0.74% |          0.85% |
|                                 | Scale: 1 Clients: 1 Read Only - Latency (ms)       |         0.016 |   (I) 5.49% |      1.05% |          1.05% |
|                                 | Scale: 1 Clients: 1 Read Write (TPS)               |        974.92 |       0.11% |     -0.08% |         -0.03% |
|                                 | Scale: 1 Clients: 1 Read Write - Latency (ms)      |          1.03 |       0.12% |     -0.06% |         -0.06% |
|                                 | Scale: 1 Clients: 250 Read Only (TPS)              |    1915931.58 |  (R) -2.25% |  (I) 2.12% |          1.62% |
|                                 | Scale: 1 Clients: 250 Read Only - Latency (ms)     |          0.13 |  (R) -2.37% |  (I) 2.09% |          1.69% |
|                                 | Scale: 1 Clients: 250 Read Write (TPS)             |        855.67 |      -1.36% |     -0.14% |         -0.12% |
|                                 | Scale: 1 Clients: 250 Read Write - Latency (ms)    |        292.39 |      -1.31% |     -0.08% |         -0.08% |
|                                 | Scale: 1 Clients: 1000 Read Only (TPS)             |    1534130.08 | (R) -11.37% |      0.08% |          0.48% |
|                                 | Scale: 1 Clients: 1000 Read Only - Latency (ms)    |          0.65 | (R) -11.38% |      0.08% |          0.44% |
|                                 | Scale: 1 Clients: 1000 Read Write (TPS)            |        578.75 |      -1.11% |      2.15% |         -0.96% |
|                                 | Scale: 1 Clients: 1000 Read Write - Latency (ms)   |       1736.98 |      -1.26% |      2.47% |         -0.90% |
|                                 | Scale: 100 Clients: 1 Read Only (TPS)              |      57170.33 |       1.68% |      0.10% |          0.22% |
|                                 | Scale: 100 Clients: 1 Read Only - Latency (ms)     |         0.018 |       1.94% |      0.00% |          0.96% |
|                                 | Scale: 100 Clients: 1 Read Write (TPS)             |        836.58 |      -0.37% |     -0.41% |          0.07% |
|                                 | Scale: 100 Clients: 1 Read Write - Latency (ms)    |          1.20 |      -0.37% |     -0.40% |          0.06% |
|                                 | Scale: 100 Clients: 250 Read Only (TPS)            |    1773440.67 |      -1.61% |      1.67% |          1.34% |
|                                 | Scale: 100 Clients: 250 Read Only - Latency (ms)   |          0.14 |      -1.40% |      1.56% |          1.20% |
|                                 | Scale: 100 Clients: 250 Read Write (TPS)           |       5505.50 |      -0.17% |     -0.86% |         -1.66% |
|                                 | Scale: 100 Clients: 250 Read Write - Latency (ms)  |         45.42 |      -0.17% |     -0.85% |         -1.67% |
|                                 | Scale: 100 Clients: 1000 Read Only (TPS)           |    1393037.50 | (R) -10.31% |     -0.19% |          0.53% |
|                                 | Scale: 100 Clients: 1000 Read Only - Latency (ms)  |          0.72 | (R) -10.30% |     -0.17% |          0.53% |
|                                 | Scale: 100 Clients: 1000 Read Write (TPS)          |       5085.92 |       0.27% |      0.07% |         -0.79% |
|                                 | Scale: 100 Clients: 1000 Read Write - Latency (ms) |        196.79 |       0.23% |      0.05% |         -0.81% |
+---------------------------------+----------------------------------------------------+---------------+-------------+------------+----------------+
| mmtests/hackbench               | hackbench-process-pipes-1 (seconds)                |          0.14 |      -1.51% |     -1.05% |         -1.51% |
|                                 | hackbench-process-pipes-4 (seconds)                |          0.44 |   (I) 6.49% |  (I) 5.42% |      (I) 6.06% |
|                                 | hackbench-process-pipes-7 (seconds)                |          0.68 | (R) -18.36% |  (I) 3.40% |         -0.41% |
|                                 | hackbench-process-pipes-12 (seconds)               |          1.24 | (R) -19.89% |     -0.45% |     (R) -2.23% |
|                                 | hackbench-process-pipes-21 (seconds)               |          1.81 |  (R) -8.41% |     -1.22% |     (R) -2.46% |
|                                 | hackbench-process-pipes-30 (seconds)               |          2.39 |  (R) -9.06% | (R) -2.95% |         -1.62% |
|                                 | hackbench-process-pipes-48 (seconds)               |          3.18 | (R) -11.68% | (R) -4.10% |         -0.26% |
|                                 | hackbench-process-pipes-79 (seconds)               |          3.84 |  (R) -9.74% | (R) -3.25% |     (R) -2.45% |
|                                 | hackbench-process-pipes-110 (seconds)              |          4.68 |  (R) -6.57% | (R) -2.12% |     (R) -2.25% |
|                                 | hackbench-process-pipes-141 (seconds)              |          5.75 |  (R) -5.86% | (R) -3.44% |     (R) -2.89% |
|                                 | hackbench-process-pipes-172 (seconds)              |          6.80 |  (R) -4.28% | (R) -2.81% |     (R) -2.44% |
|                                 | hackbench-process-pipes-203 (seconds)              |          7.94 |  (R) -4.01% | (R) -3.00% |     (R) -2.17% |
|                                 | hackbench-process-pipes-234 (seconds)              |          9.02 |  (R) -3.52% | (R) -2.81% |     (R) -2.20% |
|                                 | hackbench-process-pipes-256 (seconds)              |          9.78 |  (R) -3.24% | (R) -2.81% |     (R) -2.74% |
|                                 | hackbench-process-sockets-1 (seconds)              |          0.29 |       0.50% |      0.26% |          0.03% |
|                                 | hackbench-process-sockets-4 (seconds)              |          0.76 |  (I) 17.44% | (I) 16.31% |     (I) 19.09% |
|                                 | hackbench-process-sockets-7 (seconds)              |          1.16 |  (I) 12.10% |  (I) 9.78% |     (I) 11.83% |
|                                 | hackbench-process-sockets-12 (seconds)             |          1.86 |  (I) 10.19% |  (I) 9.83% |     (I) 11.21% |
|                                 | hackbench-process-sockets-21 (seconds)             |          3.12 |   (I) 9.38% |  (I) 9.20% |     (I) 10.30% |
|                                 | hackbench-process-sockets-30 (seconds)             |          4.30 |   (I) 6.43% |  (I) 6.11% |      (I) 7.22% |
|                                 | hackbench-process-sockets-48 (seconds)             |          6.58 |   (I) 3.00% |  (I) 2.19% |      (I) 2.85% |
|                                 | hackbench-process-sockets-79 (seconds)             |         10.56 |   (I) 2.87% |  (I) 3.31% |          3.10% |
|                                 | hackbench-process-sockets-110 (seconds)            |         13.85 |      -1.15% |  (I) 2.33% |          0.22% |
|                                 | hackbench-process-sockets-141 (seconds)            |         19.23 |      -1.40% | (I) 14.53% |          2.64% |
|                                 | hackbench-process-sockets-172 (seconds)            |         26.33 |   (I) 3.52% | (I) 30.37% |      (I) 4.32% |
|                                 | hackbench-process-sockets-203 (seconds)            |         30.27 |       1.10% | (I) 27.20% |          0.32% |
|                                 | hackbench-process-sockets-234 (seconds)            |         35.12 |       1.60% | (I) 28.24% |          1.28% |
|                                 | hackbench-process-sockets-256 (seconds)            |         38.74 |       0.70% | (I) 28.74% |          0.53% |
|                                 | hackbench-thread-pipes-1 (seconds)                 |          0.17 |      -1.32% |     -0.76% |         -0.67% |
|                                 | hackbench-thread-pipes-4 (seconds)                 |          0.45 |   (I) 6.91% |  (I) 7.64% |      (I) 9.08% |
|                                 | hackbench-thread-pipes-7 (seconds)                 |          0.74 |  (R) -7.51% |  (I) 5.26% |      (I) 2.82% |
|                                 | hackbench-thread-pipes-12 (seconds)                |          1.32 |  (R) -8.40% |  (I) 2.32% |         -0.53% |
|                                 | hackbench-thread-pipes-21 (seconds)                |          1.95 |  (R) -2.95% |      0.91% |     (R) -2.00% |
|                                 | hackbench-thread-pipes-30 (seconds)                |          2.50 |  (R) -4.61% |      1.47% |         -1.63% |
|                                 | hackbench-thread-pipes-48 (seconds)                |          3.32 |  (R) -5.45% |  (I) 2.15% |          0.81% |
|                                 | hackbench-thread-pipes-79 (seconds)                |          4.04 |  (R) -5.53% |      1.85% |         -0.53% |
|                                 | hackbench-thread-pipes-110 (seconds)               |          4.94 |  (R) -2.33% |      1.51% |          0.59% |
|                                 | hackbench-thread-pipes-141 (seconds)               |          6.04 |  (R) -2.47% |      1.15% |          0.24% |
|                                 | hackbench-thread-pipes-172 (seconds)               |          7.15 |      -0.91% |      1.48% |          0.45% |
|                                 | hackbench-thread-pipes-203 (seconds)               |          8.31 |      -1.29% |      0.77% |          0.40% |
|                                 | hackbench-thread-pipes-234 (seconds)               |          9.49 |      -1.03% |      0.77% |          0.65% |
|                                 | hackbench-thread-pipes-256 (seconds)               |         10.30 |      -0.80% |      0.42% |          0.30% |
|                                 | hackbench-thread-sockets-1 (seconds)               |          0.31 |       0.05% |     -0.05% |         -0.43% |
|                                 | hackbench-thread-sockets-4 (seconds)               |          0.79 |  (I) 18.91% | (I) 16.82% |     (I) 19.79% |
|                                 | hackbench-thread-sockets-7 (seconds)               |          1.16 |  (I) 12.57% | (I) 10.63% |     (I) 12.95% |
|                                 | hackbench-thread-sockets-12 (seconds)              |          1.87 |  (I) 12.65% | (I) 12.26% |     (I) 13.90% |
|                                 | hackbench-thread-sockets-21 (seconds)              |          3.16 |  (I) 11.62% | (I) 12.74% |     (I) 13.89% |
|                                 | hackbench-thread-sockets-30 (seconds)              |          4.32 |   (I) 7.35% |  (I) 8.89% |      (I) 9.51% |
|                                 | hackbench-thread-sockets-48 (seconds)              |          6.45 |   (I) 2.69% |  (I) 3.06% |      (I) 3.74% |
|                                 | hackbench-thread-sockets-79 (seconds)              |         10.15 |   (I) 3.30% |      1.98% |      (I) 2.76% |
|                                 | hackbench-thread-sockets-110 (seconds)             |         13.45 |      -0.25% |  (I) 3.68% |          0.44% |
|                                 | hackbench-thread-sockets-141 (seconds)             |         17.87 |  (R) -2.18% |  (I) 8.46% |          1.51% |
|                                 | hackbench-thread-sockets-172 (seconds)             |         24.38 |       1.02% | (I) 24.33% |          1.38% |
|                                 | hackbench-thread-sockets-203 (seconds)             |         28.38 |      -0.99% | (I) 24.20% |          0.57% |
|                                 | hackbench-thread-sockets-234 (seconds)             |         32.75 |      -0.42% | (I) 24.35% |          0.72% |
|                                 | hackbench-thread-sockets-256 (seconds)             |         36.49 |      -1.30% | (I) 26.22% |          0.81% |
+---------------------------------+----------------------------------------------------+---------------+-------------+------------+----------------+
| pts/nginx                       | Connections: 200 (Requests Per Second)             |     252332.60 |  (I) 17.54% |     -0.53% |         -0.61% |
|                                 | Connections: 1000 (Requests Per Second)            |     248591.29 |  (I) 20.41% |      0.10% |          0.57% |
+---------------------------------+----------------------------------------------------+---------------+-------------+------------+----------------+

Thanks,
Ryan


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ