Age | Commit message (Collapse) | Author |
|
* maint:
Correct the type of the disk log header
|
|
* hb/kernel/fix_spec_disk_log/OTP-10131:
Correct the type of the disk log header
|
|
Thanks to Niclas Eklund.
|
|
|
|
|
|
|
|
|
|
* bjorn/erts/breakpoints/OTP-10122:
Strengthen trace test cases
Don't go to single-scheduler mode when managing breakpoints
Refactor the code for managing breakpoints
Change the data structures for breakpoints
Add trace_local_SUITE:concurrency/1
Make the lock check in erts_is_code_ix_locked() stronger
|
|
|
|
* maint:
Update primary bootstrap
sys_pre_expand: Eliminate bottleneck for modules with many functions
Conflicts:
bootstrap/bin/start.boot
bootstrap/bin/start_clean.boot
bootstrap/lib/kernel/ebin/file.beam
bootstrap/lib/kernel/ebin/hipe_unified_loader.beam
|
|
|
|
* bjorn/compiler/eliminate-bottleneck/OTP-10123:
sys_pre_expand: Eliminate bottleneck for modules with many functions
|
|
Calls to erlang:set_trace_pattern/3 will no longer block all
other schedulers.
We will still go to single-scheduler mode when new code is loaded
for a module that is traced, or when loading code when there is a
default trace pattern set. That is not impossible to fix, but that
requires much closer cooperation between tracing BIFs and the loader
BIFs.
|
|
To allow us to manage breakpoints without going to single-scheduler
mode, we will need to update the breakpoints in several stages with
memory barriers in between each stage. Prepare for that by splitting
up the breakpoint setting and clearing functions into several smaller
functions.
|
|
Change the data structures for breakpoints to make it possible
(in a future commit) to manage breakpoints without taking down the
system to single-scheduling mode.
The current "breakpoint wheel" data structure (a circular,
double-linked list of breakpoints) was invented before the
SMP emulator. To support it in the SMP emulator, there is essentially
one breakpoint wheel per scheduler. As more breakpoint types have
been added, the implementation has become messy and hard to understand
and maintain.
Therefore, the time for a rewrite has come. Use one struct to hold
all breakpoint data for a breakpoint in a function. Use a flag field
to indicate what different type of break actions that are enabled.
|
|
|
|
Make sure that the the currently running thread has the lock,
not only that that some thread has the lock.
|
|
|
|
* rj/fix-eprof-doc:
Fix nonsense of eprof doc
OTP-10121
|
|
* tab/fix-indentation-records-emacs:
Fix indentation of record fields in Emacs
OTP-10120
|
|
* rj/fix-et-doc:
Fix typo in ET doc
OTP-10119
|
|
* upstream/maint:
ssl: Fix bug in the handling of remote connection closure of {active,false} ssl sockets.
|
|
* ia/ssl/recv-bug/OTP-10118:
ssl: Fix bug in the handling of remote connection closure of {active,false} ssl sockets.
|
|
* maint:
Fix faulty use of thread progress in handle_aux_work()
Conflicts:
erts/emulator/beam/erl_process.c
Needed modifications:
erts/emulator/beam/beam_bif_load.c
|
|
* rickard/thr-prgr-use/OTP-10116:
Fix faulty use of thread progress in handle_aux_work()
|
|
Use a gb_set instead of an ordset to store the set of defined
functions in the module to avoid quadritic time complexity.
|
|
* upstream/maint:
ssl: Fix pem cache bug
|
|
* ia/ssl/pem-cache-bug:
ssl: Fix pem cache bug
|
|
A general case clause was put before a less general so that the less
general case would never match.
|
|
As an optimization old thread progress data was kept and used in
handle_aux_work() in erl_process.c. This could cause memory to be
deallocated at a later time than intended, which is quite harmless.
This has, however, now been fixed.
|
|
* bjorn/inviso/remove/OTP-10117:
Remove the deprecated inviso application
|
|
* sverk/code-upgrade-test:
Add kernel/test/code_SUITE:upgrade
|
|
ssl sockets.
|
|
* upstream/maint:
ssl: Test case fixes
ssl: Avoid second bottleneck in supervisor
ssl: File handling optimization
ssl: Simpler PEM cache
ssl: Refactored for readability
ssl: Use md5 as file ref id instead of filenames
ssl: Move ets:select bottleneck in server
ssl: Renegotiate updates session id in gen_fsm state
ssl: Use ordered_set in cache
ssl: Move and avoid ets:select bottleneck in client
ssl: Reuse session check optimization
ssl: Avoid supervior bottleneck
|
|
* ia/ssl/bottlenecks/OTP-10113:
ssl: Test case fixes
ssl: Avoid second bottleneck in supervisor
ssl: File handling optimization
ssl: Simpler PEM cache
ssl: Refactored for readability
ssl: Use md5 as file ref id instead of filenames
ssl: Move ets:select bottleneck in server
ssl: Renegotiate updates session id in gen_fsm state
ssl: Use ordered_set in cache
ssl: Move and avoid ets:select bottleneck in client
ssl: Reuse session check optimization
ssl: Avoid supervior bottleneck
|
|
* maint:
Improved handling of multiple closes
|
|
* ia/ssh/missing-reason-in-catch-exit/OTP-10112:
Improved handling of multiple closes
|
|
|
|
In some situations, the indentation of record fields in Emacs was
strange. This example below shows how Emacs previously would indent
two similar pieces of code very differently:
some_function_with_a_very_long_name() ->
#'a-long-record-name-like-it-sometimes-is-with-asn.1-records'{
field1=a,
field2=b}.
x() ->
#some_record_name{
field1=a,
field2=b}.
This changes the indentation to be like below for both cases:
some_function() ->
#some_record{
field1=a,
field2=b}.
|
|
|
|
|
|
For now we only test beam as hipe doesn't pass the test
|
|
Do proc_lib:spawn_link instead of proc_lib:start_link as synchronized
init is not used/needed anyway.
|
|
Avoid cach validation with file:file_info/2 as this i too expensive and
causes a bottleneck in the file server. Instead we expose a new API function
ssl:clear_pem_cache/0 to deal with the problem. As we think it will be
of occasional use and the normal case is that the cache will be valid we think
it is the right thing to do.
Convert file paths to binary representation in the ssl API module to
avoid uncessarry calls in file later on.
Also add sanity checks for openssl versions in testsuite due to new
openssl bugs.
|
|
* maint:
Update to work with space in include path
Update to work with whitespace in exec path
|
|
* lukas/otp/install_with_whitespace/OTP-10107:
Update to work with space in include path
Update to work with whitespace in exec path
|
|
OTP-10109
|
|
|
|
Instance of state variable that are "updated" in a function is called
for example State0 and the last instance, that should be returned, is
called State possible intermidiat versions are suffixed by increasing
numbers. State0 may be rturned in error cases.
Avoid nesting case statments.
|
|
Aviods storing a lot of data
|