File 1320-erts-Restore-the-number-of-dirty-schedulers-in-sched.patch of Package erlang
From 3e2a5bb3b1ff4e0a19fae99434eaccdcadac622c Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Thu, 25 Nov 2021 17:33:52 +0100
Subject: [PATCH 09/11] erts: Restore the number of dirty schedulers in
scheduler SUITE
If the number of dirty schedulers is set to 1 when the number of
schedulers is not when the scheduler_wall_time testcase runs things
start to deadlock as processes that need to run on dirty schedulers
are starved.
---
erts/emulator/test/scheduler_SUITE.erl | 5 ++++-
erts/emulator/test/statistics_SUITE.erl | 3 +++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/erts/emulator/test/scheduler_SUITE.erl b/erts/emulator/test/scheduler_SUITE.erl
index faf16a96ef..f1683769dc 100644
--- a/erts/emulator/test/scheduler_SUITE.erl
+++ b/erts/emulator/test/scheduler_SUITE.erl
@@ -88,6 +88,7 @@ end_per_suite(Config) ->
end_per_suite(Config) ->
catch erts_debug:set_internal_state(available_internal_state, false),
+ erlang:system_flag(dirty_cpu_schedulers_online, SchedOnln),
Config.
init_per_testcase(update_cpu_info, Config) ->
@@ -1203,10 +1204,12 @@ scheduler_suspend_basic(Config) when is_list(Config) ->
{skip, "Nothing to test"};
_ ->
Onln = erlang:system_info(schedulers_online),
+ DirtyOnln = erlang:system_info(dirty_cpu_schedulers_online),
try
scheduler_suspend_basic_test()
after
- erlang:system_flag(schedulers_online, Onln)
+ erlang:system_flag(schedulers_online, Onln),
+ erlang:system_flag(dirty_cpu_schedulers_online, DirtyOnln)
end
end.
--
2.31.1