Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
0754-erts-Restore-the-number-of-dirty-scheduler...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0754-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 @@ -94,6 +94,7 @@ end_per_suite(Config) -> catch erts_debug:set_internal_state(available_internal_state, false), SchedOnln = proplists:get_value(schedulers_online, Config), erlang:system_flag(schedulers_online, SchedOnln), + erlang:system_flag(dirty_cpu_schedulers_online, SchedOnln), Config. init_per_testcase(update_cpu_info, Config) -> @@ -1248,10 +1249,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. diff --git a/erts/emulator/test/statistics_SUITE.erl b/erts/emulator/test/statistics_SUITE.erl index 90fbedb94a..a336b54044 100644 --- a/erts/emulator/test/statistics_SUITE.erl +++ b/erts/emulator/test/statistics_SUITE.erl @@ -356,6 +356,9 @@ run_scheduler_wall_time_test(Type) -> DirtyCPUSchedulers, DirtyIOSchedulers]), + %% Assert that number of schedulers is the same as number of dirty schedulers + Schedulers = DirtyCPUSchedulers, + %% Let testserver and everyone else finish their work timer:sleep(1500), %% Empty load -- 2.31.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor