Age | Commit message (Collapse) | Author |
|
|
|
This reverts commit 425889ba69b69a9b6fb14bfbef121d51b78e853a.
|
|
|
|
* kjell/emulator/persistent_term_yield/OTP-15615:
Make persistent_term:put/2 and persistent_term:erase/1 yield
|
|
Prior to this commit, the functions put/2 and erase/1 in the
persistent_term module did not yield even if the persistent term table
was large (the persistent term table is copied every time put/2 or
erase/1 is called). Furthermore, a call to put/2 or erase/1 did only
consume a single reduction. This commit fixes these problems.
|
|
* maint:
Updated OTP version
Prepare release
|
|
* 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/erl_interface/doc/src/notes.xml
# lib/erl_interface/vsn.mk
# lib/snmp/doc/src/notes.xml
# lib/snmp/vsn.mk
# lib/ssh/doc/src/notes.xml
# lib/ssh/vsn.mk
# lib/tools/doc/src/notes.xml
# lib/tools/vsn.mk
# make/otp_version_tickets
# otp_versions.table
|
|
|
|
* sverker/doc-big-creation-tags/OTP-15766:
erts: Document NEW_PID, NEW_PORT, NEWER_REFERENCE
erts: Add missing docs for DFLAG_MAP_TAG and DFLAG_BIG_CREATION
|
|
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# make/otp_version_tickets_in_merge
|
|
|
|
* sverker/maint-21/doc-big-creation-tags/OTP-15766:
erts: Document NEW_PID, NEW_PORT, NEWER_REFERENCE
erts: Add missing docs for DFLAG_MAP_TAG and DFLAG_BIG_CREATION
|
|
into sverker/maint-21/doc-big-creation-tags/OTP-15766
|
|
|
|
|
|
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# make/otp_version_tickets_in_merge
|
|
|
|
|
|
* 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"
|
|
|
|
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
|
|
This reverts commit aef76b8e8bdce86e46e2267331b1b957f796653f.
|
|
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
|
|
A multitude of broken links were found when a bug was fixed
in the link checker.
|
|
|
|
|
|
|
|
|
|
AGAIN
* sverker/enable-big-creation/OTP-15603:
erts: Document new EPMD response ALIVE2_X_RESP
erl_interface: Support 32-bit creation local cnode
jinterface: Remove old encoding of pid,port,refs
|
|
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# make/otp_version_tickets_in_merge
|
|
|
|
tty: document ^] keystroke
|
|
with 32-bit creation.
|
|
This reverts commit 0118046f9bda8dcf3594184fa439b79267db8017.
|
|
|
|
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# make/otp_version_tickets_in_merge
|
|
|
|
* rickard/dist_ctrl_get_data/OTP-15617:
Testing of the example gen_tcp_dist module
Add possibility to also get size of data from erlang:dist_ctrl_get_data()
|
|
|
|
retranspissions -> retransmissions
|
|
|
|
|
|
* maint:
Updated OTP version
Prepare release
|
|
|
|
erts: Add enif_term_type
|
|
|
|
|
|
This helps avoid long sequences of enif_is_xxx in code that
serializes terms (such as JSON encoders) by letting the user
switch on the type.
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-21:
Updated OTP version
Prepare release
|