Age | Commit message (Collapse) | Author |
|
|
|
|
|
* henrik/ERIERL-278/OTP-15470:
Handle erroneous length during decode (BER only) without crashing
|
|
|
|
Conflicts:
erts/emulator/beam/erl_process.c
|
|
* lukas/OTP-21.1.1/scheduler_pollset/OTP-15475:
erts: Move fds with active true behaviour to own pollset
erts: Fix lists_member_2 reduction count
erts: Allow code_model_small to be set in xcomp setting
erts: Implement delay_send using timer instead of poll
erts: Optimize driver_set_timer(0) to fire at once
erts: Optimize the inet driver multi timers for one timer
erts: Move all inet tcp CONNECTED timers to multi timer
erts: Add erts_io_notify_port_task_executed to check_io msacc state
erts: Add pre-alloc to ALLOC msacc state
erts: Make thr prgr wakeup current or sched 1
erts: Pass thread progress data where possible
|
|
At start of the VM a poll-set that the schedulers
will check is created where fds that have triggered
many (at the moment, many means 10) times without
being deselected inbetween. In this scheduler specific
poll-set fds do not use ONESHOT, which means that the
number of syscalls goes down dramatically for such fds.
This pollset is introduced in order to handle fds that
are used by the erlang distribution and that never
change their state from {active, true}.
This pollset only handles ready_input events,
ready_output is still handled by the poll threads.
During overload, polling the scheduler poll-set is done
on a 10ms timer.
|
|
|
|
* 'kenneth/asn1/ERIERL-278/OTP-15470' of git-server:kenneth_otp:
Handle erroneous length during decode (BER only) without crashing
|
|
* raimo/test-cuddling:
Rewrite to work for stream connection
Update Linux version for pktoptions TTL
|
|
On a 32-bit machine, `beam_makeops` would generate incorrect
pack instructions for instructions such as:
i_plus x x j? d
See the added comment block for a detailed description of the
problem and its fix.
|
|
* maint:
Fix unsafe optimization of stack trace building
|
|
beam_ssa_pre_codegen: Fix an internal consistency failure
|
|
Fix unsafe optimization of stack trace building
|
|
Symptom:
Test cases with small key ranges sometimes failed on debug VM with:
"No routing nodes in table?
Debug feature 'ets_force_split' does not seem to work."
Solution:
Don't provoke randomly joins when force_split is set.
|
|
|
|
|
|
* bjorn/compiler/fragility:
beam_validator: Don't discard fragility
|
|
The `sys_core_fold` pass of the compiler would optimize
away the building of the stacktrace in code such as:
try
...
catch
C:R:Stk ->
erlang:raise(C, {R,Stk}, Stk)
end
That optimization is unsafe and would cause a crash in a later compiler
pass.
|
|
The parallel configure implemented in d4b4567 would rm -f the
SKIP-APPLICATIONS file before it was consumed at the end of the
configure script. This reverses the solution by instead first building
the list of skip applications in memory and only then writing them to
the SKIP-APPLICATIONS file.
|
|
The following function:
is_two_tuple(Arg) ->
case is_tuple(Arg) of
false -> false;
true -> tuple_size(Arg) == 2
end.
would cause an internal consistency failure:
Internal consistency check failed - please report this bug.
Instruction: {bif,tuple_size,{f,0},[{x,0}],{z,0}}
Error: {invalid_store,{z,0},{integer,[]}}:
|
|
|
|
garazdawi/lukas/erts/fix_lit_msg_copy_in_gc/ERL-741/OTP-15478
erts: Fix copy of literal msg during gc
|
|
Conflicts:
lib/ssl/test/ssl_dist_bench_SUITE.erl
|
|
* raimo/ssl/tls_dist-optimization:
Handle socket close in state downgrade
Handle dead sender at terminate
Handle tls_sender exit properly
Optimize split_bin
Improve dist send throughput
|
|
* raimo/ssl/tls_dist-profiling:
Improve benchmark
Implement print on other node
Fix compiler warnings
|
|
|
|
* ingela/ssl/test-cuddle-ssl_basic_SUITE:
ssl: Correct test case
|
|
|
|
A copy has to be made of the message as there is
a trace token. There was a bug where the actual
message was incorrectly modified even if it was a
literal.
|
|
Conflicts:
lib/ssl/src/dtls_connection.erl
lib/ssl/src/ssl_connection.erl
lib/ssl/src/tls_connection.erl
|
|
* ingela/ssl/dist/active-N/OTP-15449:
ssl: Fix error handling in function passive_receive
ssl: Correct ssl:shutdown
ssl: Internaly use {active, N}
|
|
|
|
Also avoid code duplication
Conflicts:
lib/ssl/src/dtls_connection.erl
lib/ssl/src/tls_connection.erl
|
|
When internaly using active N, bugs in shutdown implementation where reveled.
|
|
Make next_record an internal help function to next_event and avoid
duplicate calls to tls_socket:setopts for setting the active option.
|
|
|
|
|
|
|
|
|
|
|
|
* lukas/erts/CFLAGS-O-check/OTP-15465:
erts: Fix some 32-bit gcc warnings
erts: Add check that a -O flag is present in CFLAGS
|
|
|
|
There have been too many times when users have needed to
enable something through CFLAGS but forgotten to add the
'-O2 -g' flags.
|
|
OTP-15474
|
|
OTP-15473
|
|
The previous implementation uses a round-trip in the poll-set
to simulate a yield of the port context. With the poll thread
implementation this is no longer a good idea as it generated a
lot more work for the system. So this commit changes the
implementation to use a timer instead.
OTP-15471
|
|
By optimizing driver_set_timer for 0 we can use it
instead of select to do a yield in the driver.
Use full for delay_send in the inet driver.
OTP-15472
|
|
The most common case for any socket is to have zero or one
timer, so we optimize for the one case. The only case when
we have more than one timer is when the multi accept feature
is used.
|
|
|