Age | Commit message (Collapse) | Author |
|
A dirty scheduler is an un-managed thread so we need to
lock the msacc state on those.
|
|
* maint:
Optimize operator '--' and yield on large inputs
Inline erts_cmp
Clarify a magical allocation size
Fix trapping in lists:reverse/2
|
|
* john/erts/minusminus_trapping/OTP-15371:
Optimize operator '--' and yield on large inputs
Inline erts_cmp
Clarify a magical allocation size
Fix trapping in lists:reverse/2
|
|
We got some kind of send hang...
|
|
* sverker/enif-cancel-select/OTP-15095:
erts: Bump erl_nif minor version and ERL_NIF_MIN_ERTS_VERSION
|
|
with ticket syntax.
|
|
with variable name changes, some comments
and moved catree_find_prev_from_pb_key_root after its twin.
|
|
with keys containing off-heap terms.
The passed key may actually be the one already saved
(if nodes have been joined), in which case we do nothing.
Calling destroy_route_key() may destroy off-heap data.
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-20:
Updated OTP version
Prepare release
|
|
* maint:
Fix erts_internal_ref_number_cmp()
|
|
* rickard/internal_ref_cmp/OTP-15399/ERL-751:
Fix erts_internal_ref_number_cmp()
|
|
|
|
* rickard/internal_ref_cmp/OTP-15399/ERL-751:
Fix erts_internal_ref_number_cmp()
|
|
Even more scalable ETS ordered_set with write_concurrency
|
|
|
|
The send and recv test case triggered a two bugs. One was
that there was no re-selecting when only a portion of the data
was received (which meant that we stopped reading).
Also, the wrong 'current' (writer) was reset when demonitor
current reader after a successful read (which meant that
future readers would never have been monitored).
OTP-14831
|
|
Make more use the evaluator functions for communication between
processes. Specifically, between the server and its handler processes
in the sc_rc_receive_response_tcp test cases(s).
OTP-14831
|
|
Use the evaluator functions for communication between processes
also for communication between "slave" processes (on other nodes).
OTP-14831
|
|
All test cases has been updated using the new evaluator module
(and their macros).
OTP-14831
|
|
Introudce erts_queue_release_literals() to queue a literal area to be
released.
|
|
* maint:
Updated OTP version
Prepare release
|
|
* maint-18:
Updated OTP version
Prepare release
|
|
|
|
Fix run_erl.c so it compiles on Solaris
|
|
|
|
* jimdigriz/os_mon/fix_cpu_sup_android/OTP-15387:
Make Erlang's cpu_sup function better on Android
SELinux is another cause of MSG_CTRUNC
|
|
The removal set now uses a red-black tree instead of an array on
large inputs, decreasing runtime complexity from `n*n` to
`n*log(n)`. It will also exit early when there are no more items
left in the removal set, drastically improving performance and
memory use when the items to be removed are present near the head
of the list.
This got a lot more complicated than before as the overhead of
always using a red-black tree was unacceptable when either of the
inputs were small, but this compromise has okay-to-decent
performance regardless of input size.
Co-authored-by: Dmytro Lytovchenko <[email protected]>
|
|
Add a "proper" evaluator module and adapted a couple
of test cases to use that instead.
OTP-14831
|
|
|
|
Updated the socket (remote) close test case(s) sc_rc_receive_response_tcp.
Now has three (remote) client connecting.
OTP-14831
|
|
We no longer lock more than one base node at a time.
We do however trylock a second base node at join.
|
|
for different lock instances.
|
|
|
|
The original implementation did not do this due to fear of bad
performance. But we think the negative effect of "leaking" empty
base nodes is more important to fix.
To get the bad performance a special kind of access patterns is
needed where base nodes are frequently emptied and then repopulated
soon again. ets_SUITE:throughput_benchmark for example did not show
any negative effect from this commit at all.
|
|
This greatly increases the performance of '--'/2 which does a lot
of term comparisons.
|
|
Updated the socket (local) close test case(s) sc_lc_acceptor_response_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the socket (remote) close test case(s) sc_rc_receive_response_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the socket (local) close test case(s) sc_lc_receive_response_udp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the socket (local) close test case(s) sc_lc_receive_response_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the socket close test case(s) sc_cpe_socket_cleanup
with the new evaluator interface functions.
OTP-14831
|
|
|
|
The first stage wasn't bounded by reductions, and it bumped far
more reductions than it should have due to a logic bug.
|
|
Updated the basic api timeout test case(s) api_to_maccept_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the basic api timeout test case api_to_connect_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the basic api option test case
api_opt_simple_otp_controlling_process
with the new evaluator interface functions.
OTP-14831
|
|
In the implementation of the zero-copying term storage, we
want to preserve sharing, but not copy literals because the
modules holding the literals could be unloaded under our feet.
|
|
* maint:
beam_lib: Remove obsolete module() from the beam() type
hipe: Don't use beam_lib:info/1 with an atom as filename
Honor the max heap size when copying literals after purging
|
|
Honor the max heap size when copying literals after purging
|
|
Updated the basic api test cases api_b_send_and_recv_tcp4 and
api_b_sendmsg_and_recvmsg_tcp4 with the new evaluator interface
functions.
OTP-14831
|