APPLIED: [SRU][N][PATCH 0/2] Performance degrades rapidly when spawning more processes to run benchmark
Edoardo Canepa
edoardo.canepa at canonical.com
Fri Oct 10 19:02:50 UTC 2025
Applied to noble:linux/master-next. Thanks.
On 9/4/25 10:06, Gerald Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2122006
>
> [Impact]
>
> When running erlang benchmark:
> https://github.com/jessestimpson/ets_load_benchmark_public.git
>
> Spwan more processes, the performance drops rapidly compare to 1 process,
> this issue was introduced on 5.18 kernel, 5.17 doesn't have this issue.
>
> Description of benchmark:
> n = number of processes
> f = % of performance relative to n = 1
> r = raw rate,
> t = time
>
> 5.17 benchmark result:
> n,f,r,t
> 1,1.0,9120867,5.003
> 2,0.5061354891733854,4616394,5.001
> 4,0.08950992302914515,816408,5.006
> 8,0.01184452801350521,108032,5.098
> 16,0.010647457942399005,97114,5.182
> 32,0.010625520850290194,96913,5.672
> 64,0.010831249272826072,98790,12.418
> 128,0.010497878077414494,95749,27.061
> 256,0.010104340575500272,92160,57.469
>
> 5.18 benchmark result:
> n,f,r,t
> 1,1.0,9382016,5.004
> 2,0.4953986691824555,4647838,5.001
> 4,0.10023648870773996,940420,5.005
> 8,0.008932429179095262,83804,6.195
> 16,0.0018372315021540654,17236,9.243
> 32,9.585592402608068e-4,8993,22.119
> 64,8.145250697989274e-4,7641,91.865
> 128,7.778153535259693e-4,7297,278.728
> 256,7.679856301480621e-4,7205,633.869
>
> This can be reproduced on noble 6.8 kernel:
> n,f,r,t
> 1,1.0,9319448,5.005
> 2,0.48816914209026224,4549467,5.001
> 4,0.08824585392034001,822402,5.004
> 8,0.0023127649346702354,21553,6.444
> 16,0.0010507673678827175,9792,10.905
> 32,8.959956782593959e-4,8350,22.648
> 64,0.0013944409643284223,12995,6.551
> 128,7.658929844955412e-4,7137,294.023
> 256,7.462181950964878e-4,6954,619.978
>
> this commit has just merged into this plucky 6.14 SRU cycle
>
> [Fix]
>
> Upstream fixes this issue in cpuidle governor:
> commit 85975daeaa4d6ec560bfcd354fc9c08ad7f38888
> Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
> Date: Thu Feb 6 15:29:05 2025 +0100
>
> cpuidle: menu: Avoid discarding useful information
>
> and also a follwoing commit to fix the above commit:
> commit fa3fa55de0d6177fdcaf6fc254f13cc8f33c3eed
> Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
> Date: Mon Aug 11 17:03:11 2025 +0200
>
> cpuidle: governors: menu: Avoid using invalid recent intervals data
>
> Marc has reported that commit 85975daeaa4d ("cpuidle: menu: Avoid
> discarding useful information") caused the number of wakeup interrupts
> to increase on an idle system [1], which was not expected to happen
> after merely allowing shallower idle states to be selected by the
> governor in some cases.
>
> [Test Plan]
>
> Use the following steps can easily reproduce the issue:
>
> sudo apt install erlang-base -y
> git clone https://github.com/jessestimpson/ets_load_benchmark_public.git
> cd ets_load_benchmark_public
> erlc ets_load_benchmark.erl
> erl -noshell -s ets_load_benchmark -eval 'init:stop().'
>
> [Where problems could occur]
>
> These patches fix the cpuidle governor issue and are verified by upstream,
> if something really goes wrong, it could only affect cpu idle policy and cause more power consumption.k
>
> Rafael J. Wysocki (2):
> cpuidle: menu: Avoid discarding useful information
> cpuidle: governors: menu: Avoid using invalid recent intervals data
>
> drivers/cpuidle/governors/menu.c | 34 +++++++++++++++++++++++++++-----
> 1 file changed, 29 insertions(+), 5 deletions(-)
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x20F88172E14F6784.asc
Type: application/pgp-keys
Size: 3167 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20251010/54dc541e/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20251010/54dc541e/attachment-0001.sig>
More information about the kernel-team
mailing list