Age | Commit message (Collapse) | Author |
|
* kjell/stdlib/ets_ordered_set_slow_react/OTP-15906:
ETS ordered_set: Improvements to the CA tree implementation
|
|
This commit only affects the implementation of ETS `ordered_set`
tables with the `write_concurrency` option enabled. Such tables are
implemented with a data structure that is called the contention
adapting search tree (CA tree). This commit introduces the following
changes:
* This commit causes a join to be triggered in one randomly selected
base node in about one of 1000 read unlock calls for base node
locks. No such joins happened before this commit. Before this
commit, operations that only acquired looks in read-mode never
triggered any contention adaptation. Therefore, the CA tree could
get stuck in a sub-optimal state in certain scenarios. This could
happen, for example, when a CA tree is first populated with parallel
inserts (which will cause splits of base nodes) and then only
read-only operations are applied to the data structure. Benchmark
results from the
`ets_SUITE:lookup_catree_par_vs_seq_init_benchmark/0` benchmark
function (which is included in this commit) shows that this change
can improve the throughput of the CA tree in the scenario described
above.
* Read-only operations will now also increase values of statistics
counters when they detect that they need to wait for other
operations. Only write operation changed statistics counters before
this commit. This improves the statistics that the adaptation
heuristics is based on.
* Additionally, this commit adds an upper and lower limit to the
contention statistics variables in the base nodes. Such limits did
not exist before this commit. This should, for example, make the CA
tree more responsive to contention after long periods of low
contention.
|
|
Return real pend value in erlang:dist_get_stat/1
|
|
alt_dist docs: Correct the mf_getstat description
|
|
* maint-22:
Updated OTP version
Prepare release
# Conflicts:
# make/otp_version_tickets
|
|
garazdawi/lukas/erts/fix_active_n_close_win32/ERL-960/OTP-15901
Fix {active,N} close race condition on windows
|
|
* maint-21:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# erts/doc/src/notes.xml
# erts/vsn.mk
# lib/common_test/doc/src/notes.xml
# lib/common_test/vsn.mk
# lib/kernel/doc/src/notes.xml
# lib/kernel/vsn.mk
# lib/public_key/doc/src/notes.xml
# lib/public_key/vsn.mk
# lib/ssl/doc/src/notes.xml
# lib/ssl/vsn.mk
# lib/stdlib/doc/src/notes.xml
# lib/stdlib/vsn.mk
# make/otp_version_tickets
# otp_versions.table
|
|
|
|
* rickard/dist-exit2/22/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
into maint-22
* john/erts/fix-xxx_to_existing_atom-overflow/ERL-944/OTP-15819:
erts: Fix buffer overflow in xxx_to_existing_atom
|
|
|
|
* rickard/dist-exit2/21/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
* ingela/raimo/udp-send-TOS/ERIERL-294/OTP-15747:
Introduce udp send ancillary data argument down to inet_drv
Fix old warnings
|
|
'sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865' into maint-21
* sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865:
erts: Improve test of process_info(reductions)
Revert "erts: Force process_info(reductions) as signal"
|
|
* raimo/incomplete-socket-close/ERIERL-353/OTP-15370:
Copy linger zero flag from listen socket
Test linger zero flag from listen socket
|
|
* john/erts/fix-conservative/OTP-15881:
erts: Relax the constraint introduced in OTP-15871
|
|
* rickard/dist-exit2/22/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
|
|
ingela/merge-294
* ingela/raimo/udp-send-TOS/ERIERL-294/OTP-15747:
Introduce udp send ancillary data argument down to inet_drv
Fix old warnings
|
|
rickard/dist-exit2/22/OTP-15867
* rickard/dist-exit2/21/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
rickard/dist-exit2/21/OTP-15867
* rickard/dist-exit2/20/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
|
|
|
|
* maint-20:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# erts/doc/src/notes.xml
# erts/vsn.mk
# lib/common_test/doc/src/notes.xml
# lib/common_test/vsn.mk
# lib/tools/doc/src/notes.xml
# lib/tools/vsn.mk
# make/otp_version_tickets
# otp_versions.table
|
|
|
|
|
|
When geting the local address, make sure we don't accept
the loopback address.
|
|
into maint
|
|
|
|
into maint-20
* john/erts/fix-xxx_to_existing_atom-overflow/ERL-944/OTP-15819:
erts: Fix buffer overflow in xxx_to_existing_atom
|
|
|
|
* maint-22:
Updated OTP version
Prepare release
# Conflicts:
# make/otp_version_tickets
|
|
Fix some documentation typos
|
|
* raimo/incomplete-socket-close/ERIERL-353/OTP-15370:
Copy linger zero flag from listen socket
Test linger zero flag from listen socket
|
|
|
|
|
|
'sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865' into maint-22
* sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865:
erts: Improve test of process_info(reductions)
Revert "erts: Force process_info(reductions) as signal"
|
|
* sverker/erts/break-p-segv/ERL-965/OTP-15873:
erts: Fix SEGV crash on shell break (p)roc info
|
|
|
|
into maint
* john/erts/fix-bad-get_tuple_element-opt/OTP-15871/ERIERL-374:
erts: Fix bad loader optimization of get_tuple_element
|
|
OTP-15874
PR-2266
* sverker/erts/hipe-arm-freebsd-clear-cache/ERL-958:
erts: Fix hipe_flush_icache_range for FreeBSD on ARM
|
|
Avoid old Linux specific syscall assembler if we can.
|
|
'sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865' into maint
* sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865:
erts: Improve test of process_info(reductions)
Revert "erts: Force process_info(reductions) as signal"
|
|
to provoke case when the main lock is released during execution.
|
|
* sverker/erts/break-p-segv/ERL-965/OTP-15873:
erts: Fix SEGV crash on shell break (p)roc info
|
|
The following sequence would be wrongly optimized into a
i_get_tuple_element2 instruction, reading an element from the
wrong tuple:
{get_tuple_element,{x,0},1,{x,0}}.
{get_tuple_element,{x,0},2,{x,1}}.
|
|
esdp==NULL if run by non scheduler thread.
|
|
When a close is detected on windows, we need to keep track of
it as it will not trigger again.
|
|
This reverts commit 70dbf671a8196110d2aee2e7507afc2c2c75183f.
As the comment of 70dbf671a8 itself indicates, that "fix" is not really
necessary. It has, however, the bad effect of always consuming reductions of the
process you want to know reduction from, that is you can't meassure reduction
count without affecting it.
|
|
Add a pattern field to the (beginning of the) socket descriptor.
To make it more easy to spot memory over-writes. One pattern
for create and one for dtor. Also reset various fields of the
descriptor at dtor.
|