File 2773-erts-Fix-ets-memory-comparison-test.patch of Package erlang
From a67c45611b32b14094c6f9cecb87e8ddb6319805 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Wed, 8 Dec 2021 09:48:57 +0100
Subject: [PATCH 3/3] erts: Fix ets memory comparison test
---
lib/stdlib/test/ets_SUITE.erl | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/lib/stdlib/test/ets_SUITE.erl b/lib/stdlib/test/ets_SUITE.erl
index 2069f5f27c..d2cbf2c9e6 100644
--- a/lib/stdlib/test/ets_SUITE.erl
+++ b/lib/stdlib/test/ets_SUITE.erl
@@ -3070,16 +3070,24 @@ write_concurrency(Config) when is_list(Config) ->
true = YesMem > YesTreeMem,
- case erlang:system_info(schedulers) > 1 of
- true ->
- true = YesMem > NoHashMem,
- true = YesMem > NoTreeMem,
- true = YesTreeMem > NoTreeMem,
- true = YesYesTreeMem > YesTreeMem;
- _ ->
+ case erlang:system_info(schedulers) of
+ 1 ->
YesMem = NoHashMem,
YesTreeMem = NoTreeMem,
- YesYesTreeMem = YesTreeMem
+ YesYesTreeMem = YesTreeMem;
+ NoSchedulers ->
+ true = YesMem > NoHashMem,
+ true = YesMem > NoTreeMem,
+
+ %% The memory of ordered_set with write concurrency is
+ %% smaller than without write concurrency on systems with
+ %% few schedulers.
+ if NoSchedulers > 6 ->
+ true = YesTreeMem >= NoTreeMem;
+ true ->
+ true = YesTreeMem < NoTreeMem
+ end,
+ true = YesYesTreeMem > YesTreeMem
end,
{'EXIT',{badarg,_}} = (catch ets_new(foo,[public,{write_concurrency,foo}])),
--
2.31.1