Age | Commit message (Collapse) | Author |
|
* sverker/process_info-reductions-fix/OTP-15709:
erts: Fix bug in process_info(reductions)
erts: Use ptr_val for pointer in gc msg copy
|
|
'john/kernel/compressed-file-read-degradation/OTP-15706/ERIERL-336' into maint-21
* john/kernel/compressed-file-read-degradation/OTP-15706/ERIERL-336:
erl_tar: Use read_ahead when reading compressed tar files
kernel: Fix performance regression on reading compressed files
|
|
* john/erts/seq_trace-sigq-clearing/OTP-15704:
erts: Handle all signal types when clearing seq_trace token
|
|
returning incorrect result as
* current process might not be RUNNING in which case REDS_IN
is actually used as def_arg_reg[5]
* FCALLS might not have been swapped out
* the SAVED_CALLS case was wrong and returned number of reds left
|
|
Cherry-pick: 3d7d66b84b69f3eb42e8bcd8dc510b6676e31cac
Without this fix asserts would trigger in debug build
but nothing else would break.
|
|
Jumping around in a compressed file is nowhere near as cheap as
for uncompressed files, as it requires reading and decompressing
up until the desired position. Using read_ahead will improve
performance slightly.
|
|
An internal buffer size was too small, causing a considerable
performance degradation compared to OTP 20.
|
|
We walk through all signal queues in the system when clearing
seq_trace, so we must be prepared to encounter all kinds of
signals.
|
|
|
|
|
|
maint-21
* max-au/erts/dirty_scheduler_shutdown/PR-2172/OTP-15690:
erts: release dirty runqueue lock before entering endless loop when BEAM is shutting down
# Conflicts:
# erts/emulator/beam/erl_process.c
|
|
* rickard/dirty-resume/OTP-15688:
Fix reception of resume signal on process executing dirty
|
|
'lars/xmerl-scan-attribute-fixes/OTP-15684/OTP-15685/ERL-837/ERL-475' into maint-21
* lars/xmerl-scan-attribute-fixes/OTP-15684/OTP-15685/ERL-837/ERL-475:
[xmerl] Normalize attribute correctly when references are used
[xmerl] Replace character refs correctly in attributes
|
|
shutting down
This patch fixes a problem happening when BEAM is shutting down. It is possible for a dirty scheduler to take the lock, and keep it, when the system is shutting down. It may also happen that a normal scheduler decides to schedule some dirty job (example is major garbage collection that results in migrating the process into dirty CPU queue), and hangs trying to take the lock that will never be released.
To fix the problem, either release the lock before entering endless wait loop, or reverse the order in which schedulers are stopped. Either fix works, and, of course, it works even better to apply both.
|
|
If a suspend/resume signal pair was sent to a process while it
was executing dirty the resume counter on the process got into
an inconsistent state. This in turn could cause the process
to enter a suspended state indefinitely.
|
|
|
|
|
|
|
|
|
|
maint-21
* ingela/ssl/recv-timeout-bug/ERL-884/ERL-883/OTP-14701:
ssl: Cancel recv timer in all places
|
|
* ingela/ssl/transport-transparance/ERL-861/OTP-15679:
ssl: Fix transport transparancy
|
|
* rickard/erl_call/ERL-881/OTP-15676:
Add smoke test for erl_call
Add new api functions to ei_fake_prog
Fix timeout value when waiting for emulator start
Fix initialization of erl_call
|
|
|
|
These functions were added in erl_interface-3.11
|
|
|
|
Previously erl_call relied on the implicit initialization made
of the ei-lib if no explicit initialization had been done. This
implicit initialization was utterly broken and was removed in
erl_interface-3.11 (OTP 21.3) since it has been documented for
a very long time that an explicit initialization is required.
|
|
Would cause connection to crash although all data was delivered to ssl:recv
|
|
|
|
|
|
|
|
into maint
* peterdmv/inets/httpd_erl_script_timeout/ERIERL-321/OTP-15669:
inets: Fix handling of erl_script_timeout
Change-Id: I6a90408de48df6b8b01f44e0b273507bcec27b13
|
|
When httpd was started with 'erl_script_timeout', the value of the
option was converted to milliseconds before storage. Subsequent
calls to httpd:info/1 returned the input value multiplied by 1000.
This change fixes the handing of erl_script_timeout by storing the
timeout in seconds and converting it to milliseconds before usage.
Change-Id: Ic308d83b59ad0884e053f096f995754c89adcbf4
|
|
* sverker/maint/ets-no-mbuf-trapping/OTP-15660:
erts: Remove ets traversal yielding if heap fragment
|
|
* anders/diameter/21.3/OTP-15654:
Update appup for diameter 2.2 in OTP 21.3
|
|
* anders/diameter/distribution/OTP-15398:
Add diameter_dist_SUITE to exercise diameter_dist:route_session/2
Add consistent hashing to diameter_dist:route_session/2
Add options to diameter_dist:route_session/2 node selection
Add diameter_dist for ready spawn_opt callbacks
Tweak/document request handler callback
Document acknowledgements in transport interface
Fix comment typo
|
|
into maint
* ingela/ssl/ftp/continue/chunk-timing/ERIERL-316/OTP-15666:
ssl: Correct active once emulation
ftp: New test case
|
|
* siri/logger/file-logging-improvements:
[logger] Add option file_check to logger_std_h
[logger] Add log file rotation by options to logger_std_h
[logger] Add better control of file modes in logger_std_h
[logger] Refactor logger_std_h
[logger] Make sure log file is re-opened with configured file options
|
|
OTP-15663
This option indicates how often the handler shall check if the log
file still exists and if the inode is changed.
|
|
OTP-15479
OTP-15662
New configuration map for logger_std_h:
#{type => file,
file => file:filename(),
modes => [file:mode()],
max_no_bytes => pos_integer() | infinity,
max_no_files => non_neg_integer(),
compress_on_rotate => boolean()}
For backwards compatibility, the old variant for specifying the file
name via the 'type' parameter is still supported, i.e. {file,FileName}
and {file,FileName,Modes}, but it is no longer documented.
Rotation scheme:
The current log file always has the same name, and the archived files
get extensions ".0", ".1", ... The newest archive has extension ".0",
and the oldest archive has the highest number.
If 'compress_on_rotate' is set to true, the archived files are gzipped
and get the additional extension ".gz", e.g. error.log.0.gz.
Rotation is turned off by setting 'max_no_bytes' to infinity. Setting
'max_no_files' to 0 does not turn off rotation, but only specifies
that no archives are to be saved.
|
|
Conflicts:
lib/ftp/test/ftp_SUITE.erl
|
|
|
|
into sverker/maint/ets-no-mbuf-trapping/OTP-15660
|
|
Many heap fragments do no longer make the GC slow.
Even worse, we are not guaranteed that a yield will provoke a GC
removing the fragments, which might lead to a one-yield-per-bucket
scenario if the heap fragment(s) still remains after each yield.
|
|
* rickard/make-fixes-21/OTP-15657:
Remove own configured RM make variable
|
|
* siri/logger/optimize-formatter/OTP-15647:
[logger] Improve formatter performance
|
|
|
|
* siri/logger/bench:
[logger] Add benchmark of big log events with chars_limit and max_size
[logger] Add max memory usage to statistics in logger_olp
Skip logger benchmarks in normal kernel test
[logger] Add benchmark of events per millisecond for handlers
|
|
|
|
|
|
|