Public bug reported: [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 and plucky 6.14 kernel: n,f,r,t 1,1.0,9321196,5.005 2,0.5362295256010277,4998300,5.001 4,0.09392833281067568,875524,5.005 8,0.07644864029595455,712592,5.015 16,0.0013813520394405897,12875,9.658 32,7.711512948349701e-4,7188,19.553 64,0.0013429338424364038,12517,7.042 128,7.457826804441801e-4,6951,110.797 256,7.542013889959581e-4,7030,677.621 [Fix] Upstream fixes this issue in cpuidle governor: commit 85975daeaa4d6ec560bfcd354fc9c08ad7f38888 Author: Rafael J. Wysocki <[email protected]> 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 <[email protected]> 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. ** Affects: linux (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2122006 Title: Performance degrades rapidly when spawning more processes to run benchmark Status in linux package in Ubuntu: New Bug description: [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 and plucky 6.14 kernel: n,f,r,t 1,1.0,9321196,5.005 2,0.5362295256010277,4998300,5.001 4,0.09392833281067568,875524,5.005 8,0.07644864029595455,712592,5.015 16,0.0013813520394405897,12875,9.658 32,7.711512948349701e-4,7188,19.553 64,0.0013429338424364038,12517,7.042 128,7.457826804441801e-4,6951,110.797 256,7.542013889959581e-4,7030,677.621 [Fix] Upstream fixes this issue in cpuidle governor: commit 85975daeaa4d6ec560bfcd354fc9c08ad7f38888 Author: Rafael J. Wysocki <[email protected]> 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 <[email protected]> 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. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2122006/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

