Age | Commit message (Collapse) | Author |
|
* origin/john/compiler/fix-header-deps:
compiler: Add missing header dependencies
|
|
|
|
This is a partial revert of
bf7c722bd3b30e04a56c2d369fd9f5501a8316d0.
It does not make sense to treat 0 as a wild card in cmp function
for the hash table as creation is part of the hash calculation.
|
|
* kjell/stdlib/ets_decentralized_counters/PR-2190/OTP-15623:
Decentralized counters for ETS ordered_set with write_concurrency
|
|
Previously, all ETS tables used centralized counter variables to keep
track of the number of items stored and the amount of memory
consumed. These counters can cause scalability problems (especially on
big NUMA systems). This commit adds an implementation of a
decentralized counter and modifies the implementation of ETS so that
ETS tables of type ordered_set with write_concurrency enabled use the
decentralized counter. [Experiments][1] indicate that this change
substantially improves the scalability of ETS ordered_set tables with
write_concurrency enabled in scenarios with frequent `ets:insert/2`
and `ets:delete/2` calls.
The new counter is implemented in the module erts_flxctr
(`erts_flxctr.h` and `erts_flxctr.c`). The module has the suffix
flxctr as it contains the implementation of a flexible counter (i.e.,
counter instances can be configured to be either centralized or
decentralized). Counters that are configured to be centralized are
implemented with a single counter variable which is modified with
atomic operations. Decentralized counters are spread over several
cache lines (how many can be configured with the parameter
`+dcg`). The scheduler threads are mapped to cache lines so that there
is no single point of contention when decentralized counters are
updated. The thread progress functionality of the Erlang VM is
utilized to implement support for linearizable snapshots of
decentralized counters. The snapshot functionality is used by the
`ets:info/1` and `ets:info/2` functions.
[1]: http://winsh.me/ets_catree_benchmark/flxctr_res.html
|
|
Issue an error for improper use of record_info/2 in a fun
OTP-15760
|
|
|
|
* hasse/parsetools/fix_leex_test:
parsetools: Remove no longer working tests
|
|
Change-Id: I2f2cc8c64f02b50773eb455770336b159da7b9f9
|
|
Filter unassigned and legacy elements from signature_scheme_list
before further processing.
Change-Id: I0a2623e53c21cebe6e736e7eee6bb6354fc698b7
|
|
Handle legacy signature algorithms in TLS 1.3 ClientHello to
improve debug logging.
Change-Id: If5548c828aabab83a2b147dffa7e937bd98916c6
|
|
* hans/crypto/ifdef_no_alg/OTP-15683:
crypto: Obey compile flags for no DSA, BF, DES, DH
|
|
|
|
* hans/crypto/valgrind/OTP-15644:
crypto: Remove compiler warning on an fprintf in the otp test engine
crypto: Fix valgrind error in api_ng.c ng_crypto_one_time for OpenSSL<1.0.1
|
|
The otp_test_engine is only used in some of the test cases.
|
|
|
|
|
|
|
|
* lukas/erl_interface/depend-fix/OTP-15757:
erl_interface: Generate dependencies at compile time
|
|
|
|
* hasse/dialyzer/improve_binary_printing/OTP-15752:
dialyzer: Fix pretty printing of binaries
|
|
This was only intended to be documented during OTP 22's testing
phase and we're nearing its release now. In addition to that it
wasn't a complete fix as modules compiled with HiPE+no_bsm3
tended to crash the emulator at runtime.
|
|
Fix various spelling mistakes
|
|
erts: Optimize arithmetic ops using overflow intrinsics
|
|
* john/merge-re-replace-fix:
erts: Skip ERTS_NOINLINE on non-GCC-compatible compilers
cleanup: beam_emu.c: use ERTS_NOINLINE instead of NOINLINE
stdlib: fix re:replace on LTO builds
|
|
This reverts commit 321dc6ee0241f802c940def174c0a77262e11f21.
|
|
This reverts commit 0b74eec2a1fd5716ba6e21d8c6715433d8d34510.
|
|
This reverts commit 78ea501bcc84bd8bd49da97e514c1c3b20682d86.
|
|
This reverts commit bd8f6106d44a58c261920eef72842bb3bc5a4968.
PLUS a little change in epmd_srv.c:750 ("4" -> "replylen")
that was part of e2cf4a8a4b03b9f430ba228276c3b2629159e832
by mistake.
|
|
This reverts commit 3c7a387c21d7b0d054c22509828142a80e509317.
|
|
This reverts commit 6454221ad87d1cd8fc877b424db3c4a8e9835577.
|
|
This reverts commit aef76b8e8bdce86e46e2267331b1b957f796653f.
|
|
Change-Id: I03d8bb7b45fc48b3d5b0232c4c3a286fb36aad5c
|
|
Change-Id: I559624bedf3b9b9ed0316af5262f59bcad8de926
|
|
Change-Id: Icc99d5f3b8c667107926603e9d546d7198bd098d
|
|
Change-Id: Ic6606206b9c48489ead46bf2f8a982cf06ccc2e3
|
|
* peterdmv/ssl/fix-chacha-ciphers:
ssl: Fix Chacha20 IV length and nonce calculation
Change-Id: I69b88bcfe0e9a6b9157884e9df049e15f4a35b95
|
|
'lukas/erts/fragment-dist-messages/OTP-13397/OTP-15610/OTP-15611/OTP-15612/OTP-15613/OTP-15703'
* lukas/erts/fragment-dist-messages/OTP-13397/OTP-15610/OTP-15611/OTP-15612/OTP-15613/OTP-15703:
erts: Fix dist sequence yield state allocator type
erts: Fix driver_SUITE:use_fallback_pollset
erts: Yield when exiting/free process is suspended by de
erts: Fix alignment of ErtsDistExternal on sparc
erts: Fix incorrect gcc may be used init warning
erts: Skip large dist testcases on machines with little memory
erts: Fix lock order violation in system_info(procs)
erts: Fix buffer alignment bug in alloc_dist_obuf
erts: Fix build of dist_ctrl_get_data return term
|
|
The wrong allocator type was given to erts_free.
|
|
We don't check for io errors as the pollset will be unstable.
|
|
Complementory fix to 922fd355831575965
|
|
The edep->data values need to be 64-bit aligned as it
contains 64-bit values.
|
|
|
|
|
|
|
|
Cannot do unaligned word writes on sparc!
|
|
|
|
|
|
* lukas/erts/fix-fd-driver-select/OTP-15753:
erts: Fix sys_driver to correctly deselect fds
|
|
Incorrect precidence rules made the driver never
deselect the given fds.
|