aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2019-04-11erts: Document NEW_PID, NEW_PORT, NEWER_REFERENCESverker Eriksson
2019-04-11Merge branch 'sverker/node-table-cmp-0-creation-fix'Sverker Eriksson
* sverker/node-table-cmp-0-creation-fix: erts: Revert creation 0 as wildcard in node_table_cmp
2019-04-11Merge branch 'sverker/revert-big-creation'Sverker Eriksson
* sverker/revert-big-creation: Revert "erts: Make DFLAG_BIG_CREATION mandatory" Revert "erts: Remove old encoding of pids, ports and refs" Revert "erl_interface: Remove old encoding of pid,port,refs" Revert "epmd: Support 32-bit creation values in local node" Revert "jinterface: Remove old encoding of pid,port,refs" Revert "erl_interface: Support 32-bit creation local cnode" Revert "erts: Document new EPMD response ALIVE2_X_RESP"
2019-04-11erts_test_utils: Bump compiler compatibility version to OTP 20Björn Gustavsson
2019-04-11distribution_SUITE: Remove irrelevant test atom_roundtrip_r16bBjörn Gustavsson
Communication with OTP R16b has not been supported for a while.
2019-04-11bs_construct_SUITE: Rename bs_add_overflow/1 to bs_append_overflow/1Björn Gustavsson
The test case tests that the bs_append instruction tests for overflow. Make that clear by renaming the test case. While at it, also add a few explicit garbage_collection/0 calls to make it more likeley to run successfully in tight memory situations.
2019-04-11bs_construct_SUITE: Remove troublesome test huge_binary/1Björn Gustavsson
This test case can fail for the wrong reason (swapping followed by a timetrap timeout). It is unlikely to fail because of a real bug.
2019-04-11bs_construct_SUITE: Remove incorrect purpose lineBjörn Gustavsson
2019-04-11Add benchmarkBjörn Gustavsson
2019-04-10erts: Add missing docs for DFLAG_MAP_TAG and DFLAG_BIG_CREATIONSverker Eriksson
2019-04-10erts: Revert creation 0 as wildcard in node_table_cmpSverker Eriksson
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.
2019-04-10Decentralized counters for ETS ordered_set with write_concurrencyKjell Winblad
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
2019-04-10erts: Fix z_SUITE to always look for cerl in ERL_TOPLukas Larsson
If it cannot be found in the daily build dir, we try ERL_TOP incase it is there.
2019-04-10vxworks: Make vxworks configure use environment CFLAGSLukas Larsson
2019-04-10erts: Make erts_free debug failure easier to diagnoseLukas Larsson
2019-04-10erts: Fix gcc warning in to_erlLukas Larsson
2019-04-10Merge pull request #2204 from jhogberg/john/erts/optimize-arith-ops/OTP-15740John Högberg
erts: Optimize arithmetic ops using overflow intrinsics
2019-04-10Merge branch 'john/merge-re-replace-fix'John Högberg
* 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
2019-04-09Revert "erts: Make DFLAG_BIG_CREATION mandatory"Sverker Eriksson
This reverts commit 321dc6ee0241f802c940def174c0a77262e11f21.
2019-04-09Revert "erts: Remove old encoding of pids, ports and refs"Sverker Eriksson
This reverts commit 0b74eec2a1fd5716ba6e21d8c6715433d8d34510.
2019-04-09Revert "epmd: Support 32-bit creation values in local node"Sverker Eriksson
This reverts commit bd8f6106d44a58c261920eef72842bb3bc5a4968. PLUS a little change in epmd_srv.c:750 ("4" -> "replylen") that was part of e2cf4a8a4b03b9f430ba228276c3b2629159e832 by mistake.
2019-04-09Revert "erts: Document new EPMD response ALIVE2_X_RESP"Sverker Eriksson
This reverts commit aef76b8e8bdce86e46e2267331b1b957f796653f.
2019-04-09erts: Fix dist sequence yield state allocator typeLukas Larsson
The wrong allocator type was given to erts_free.
2019-04-09erts: Fix driver_SUITE:use_fallback_pollsetLukas Larsson
We don't check for io errors as the pollset will be unstable.
2019-04-09erts: Yield when exiting/free process is suspended by deLukas Larsson
Complementory fix to 922fd355831575965
2019-04-09erts: Fix alignment of ErtsDistExternal on sparcLukas Larsson
The edep->data values need to be 64-bit aligned as it contains 64-bit values.
2019-04-09erts: Fix incorrect gcc may be used init warningLukas Larsson
2019-04-09erts: Skip large dist testcases on machines with little memoryLukas Larsson
2019-04-09erts: Fix lock order violation in system_info(procs)Lukas Larsson
2019-04-09erts: Fix buffer alignment bug in alloc_dist_obufLukas Larsson
Cannot do unaligned word writes on sparc!
2019-04-09erts: Fix build of dist_ctrl_get_data return termLukas Larsson
2019-04-09Merge branch 'maint'Lukas Larsson
2019-04-09erts: Fix sys_driver to correctly deselect fdsLukas Larsson
Incorrect precidence rules made the driver never deselect the given fds.
2019-04-08Merge branch 'bjorn/erts/cuddle-with-tests'Björn Gustavsson
* bjorn/erts/cuddle-with-tests: statistics_SUITE: Make wall_clock_update/1 more tolerant
2019-04-08Add erts_debug:interpreter_size/0Björn Gustavsson
Add erts_debug:interpreter_size/0 for retrieving the approximate size of the BEAM interpreter (process_main()).
2019-04-08erts: Optimize arithmetic ops using overflow intrinsicsJohn Högberg
2019-04-08erts: Skip ERTS_NOINLINE on non-GCC-compatible compilersJohn Högberg
__declspec(noinline) works fine on MSVC but requires us to place the macro before a function rather than after, which in turn causes early versions of GCC to puke since they only accept __attribute__ at the end of a function declaration. Since this is a new macro that previously only saw use in beam_emu, I figured it's easiest to leave it disabled on MSVC.
2019-04-05Fail when we cannot encode term in binaryRickard Green
Fail when we cannot encode term in binary instead of producing a faulty result.
2019-04-05Optimize the i_minus instructionBjörn Gustavsson
Measurements show that i_minus instructions (subtraction) are frequent enough to warrant creating specialized i_minus instructions. Thanks to José Valim for doing instruction counting on Elixir code.
2019-04-05Merge branch 'lukas/erl_docgen/add-internal-docs'Björn Gustavsson
OTP-15715 * lukas/erl_docgen/add-internal-docs: cerl_clauses: Fix broken link Fix minor typos Add CountingInstructions to the internal documentation GarbageCollection.md: Fix links to references emd2exml: Remove paragraphs around image tags emd2exml: Clean emphasis markers in link texts emd2exml: Allow short names of anchors for internal links Include figures erts: Fix more internal docs xmllint compiler: Add internal docs section erl_docgen: Add new internal docs chapter to docs
2019-04-05Merge branch 'bjorn/doc/fix-broken-links'Björn Gustavsson
* bjorn/doc/fix-broken-links: Fix broken links
2019-04-05Merge remote-tracking branch 'trofi/master' into john/merge-re-replace-fixJohn Högberg
PR 2194, stdlib: fix re:replace on LTO builds * trofi/master: cleanup: beam_emu.c: use ERTS_NOINLINE instead of NOINLINE stdlib: fix re:replace on LTO builds
2019-04-04Fix broken linksBjörn Gustavsson
A multitude of broken links were found when a bug was fixed in the link checker.
2019-04-04Fix minor typosBjörn Gustavsson
2019-04-04Add CountingInstructions to the internal documentationBjörn Gustavsson
2019-04-04GarbageCollection.md: Fix links to referencesBjörn Gustavsson
2019-04-04Include figuresBjörn Gustavsson
2019-04-04erts: Fix more internal docs xmllintLukas Larsson
2019-04-04erl_docgen: Add new internal docs chapter to docsLukas Larsson
2019-04-03lcnt_SUITE: Ignore socket-NIF locks in toggle testsJohn Högberg