Age | Commit message (Collapse) | Author |
|
* Release is_resizing as soon as possible to improve shrink concurrency.
- Do join of buckets after release, but with kept WLOCK_HASH.
- Do deallocations of seg and segtab after release
of both is_resizing and WLOCK_HASH.
* Do lazy initialization of buckets in extended segments.
- Mark inactive buckets in DEBUG.
|
|
* poroh/erts/sched-stuck-fix/OTP-15941:
Infinite cycle fixed on try to change run queue (if it has already changed concurrently)
|
|
* sverker/system_info-procs-bug/ERL-979/OTP-15909:
Fix fatal bug in erts_proc_sig_signal_size
|
|
* john/erts/lists_subtract_fixes/OTP-15938/OTP-15939:
erts: Fix integer overflow in loader
erts: Fix integer overflow in list subtraction
|
|
* sverker/re-enable-big-creation/OTP-15603:
doc: Add links between dist flags and external tags (DTD updated)
erts: Fix docs for new pid,port,ref external tags
erts: Document new EPMD response ALIVE2_X_RESP
erl_interface: Support 32-bit creation local cnode
jinterface: Remove old encoding of pid,port,refs
epmd: Support 32-bit creation values in local node
erl_interface: Remove old encoding of pid,port,refs
erts: Remove old encoding of pids, ports and refs
erts: Make DFLAG_BIG_CREATION mandatory
|
|
|
|
Infinite cycle fixed on try to change run queue (if it has already ch…
|
|
* maint:
erts: Fix integer overflow in loader
erts: Fix integer overflow in list subtraction
|
|
* john/erts/lists_subtract_fixes/OTP-15938/OTP-15939:
erts: Fix integer overflow in loader
erts: Fix integer overflow in list subtraction
|
|
qsort expects the comparison function to return an int; returning
an `Sint` may yield nonsensical results.
|
|
CMP_TERM returned an `Sint`, which overflowed the `int` used in
erl_rbtree for storing the comparison, causing list subtraction to
behave strangely.
|
|
concurrently)
|
|
|
|
|
|
Before this change erts used to crash dump and then abort, but a
crash dump is not really usefull at this point and it caused all
sort of lock problems when crash dumping that early in the system
boot, so now it is changed to only dump core instead.
Also in the process I cleaned up some the code so that it does
not to a lot of things that are not needed.
|
|
|
|
* lukas/erts/dist-optimize-large-data/PR-2291/OTP-15926:
erts: Don't copy binary data from dist data
erts: Move copy of payload to receiving process
|
|
when called by offset_nstack() for hipe native stack.
|
|
* maint:
Update runtime dependency from stdlib to erts
Yield when validating UTF8 for long subject in re:run()
Add yield_on_subject_validation() test
Update runtime dependency from stdlib to erts
Only validate subject once when global is used in re:run()
Add global_unicode_validation() test
|
|
rickard-green/rickard/re-unicode-validation/OTP-15831/OTP-15836/ERL-876
re unicode validation
|
|
|
|
* sverker/system_info-procs-bug/ERL-979/OTP-15909:
Fix fatal bug in erts_proc_sig_signal_size
|
|
* maint:
Handle addition of bignum + variable in unoptimized code
|
|
* bjorn/erts/unoptimized-plus:
Handle addition of bignum + variable in unoptimized code
|
|
called by
erlang:process_info(memory)
erlang:system_info(procs)
crash dump
break menu
Will crash VM if process has a pending monitor DOWN signal in its queue.
|
|
It is already a refc, so no need to create a new one.
|
|
|
|
Wake AIX up from coma
|
|
rickard/re-unicode-validation/OTP-15831/OTP-15836/ERL-876
* rickard/re-yield-unicode-validation/OTP-15836/ERL-876:
Update runtime dependency from stdlib to erts
Yield when validating UTF8 for long subject in re:run()
Add yield_on_subject_validation() test
|
|
|
|
rickard/re-unicode-validation/OTP-15831/OTP-15836/ERL-876
* rickard/re-global-unicode-validation/OTP-15831/ERL-876:
Update runtime dependency from stdlib to erts
Only validate subject once when global is used in re:run()
Add global_unicode_validation() test
|
|
* 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
|
|
* 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
|
|
* maint:
erts: Relax the constraint introduced in OTP-15871
|
|
* john/erts/fix-conservative/OTP-15881:
erts: Relax the constraint introduced in OTP-15871
|
|
* maint:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
* rickard/dist-exit2/22/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
* bjorn/better-fun-info/OTP-15837:
Create a shared wrapper function for all occurrences of 'fun F/A'
Support sharing of fun entries in the runtime system
erl_fun.c: Remove unused struct definition
hipe: Use the new index when translating funs
Stop supporting decoding of old funs in the external term format
genop.tab: Insert an "OTP 23" comment for clarity
|
|
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
|
|
|
|
|
|
|
|
Before OTP 23, there had to be a one-to-one correspodence between
`make_fun2` instructions and fun entries.
In the OTP 23 runtime system, start keying the fun entries with the
explicit ("new") index included in the fun entry. That will allow
multiple `make_fun2` instructions to refer to the same entry in
the fun table.
This change is safe for code compiled by OTP R15B or later, because
the old and new indices are identical. The loader will refuse to
load code where the old and new indices are not equal unless the
code is known to be compiled with an OTP 23 compiler.
|
|
|
|
The new external format for funs (NEW_FUN_EXT) was introduced in OTP
R8 along with the `make_fun2` instruction. Therefore, it should be
safe to stop decoding the old FUN_EXT tag.
|