File 0146-kernel-Create-table-global_names-with-read_concurren.patch of Package erlang

From 40a5c8b1dd9e751488c11f47f8c6fe68a4e55aa2 Mon Sep 17 00:00:00 2001
From: Hans Bolinder <hasse@erlang.org>
Date: Fri, 19 May 2017 13:10:04 +0200
Subject: [PATCH] kernel: Create table 'global_names' with read_concurrency

Measurements showed contention on one of the ETS tables created by the
'global' module.
---
 lib/kernel/src/global.erl | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/kernel/src/global.erl b/lib/kernel/src/global.erl
index 3d6415036..a9e92b28b 100644
--- a/lib/kernel/src/global.erl
+++ b/lib/kernel/src/global.erl
@@ -447,7 +447,8 @@ info() ->
 init([]) ->
     process_flag(trap_exit, true),
     _ = ets:new(global_locks, [set, named_table, protected]),
-    _ = ets:new(global_names, [set, named_table, protected]),
+    _ = ets:new(global_names, [set, named_table, protected,
+                               {read_concurrency, true}]),
     _ = ets:new(global_names_ext, [set, named_table, protected]),
 
     _ = ets:new(global_pid_names, [bag, named_table, protected]),
-- 
2.13.0

openSUSE Build Service is sponsored by