Age | Commit message (Collapse) | Author |
|
OTP-11628
* vinoski/rm-drv-async-cancel:
remove deprecated driver_async_cancel function
|
|
OTP-11618
* sverk/misc-bug-fixes:
erts: Fix faulty assert in match spec engine.
erts: Fix crash when comparing very large floats with integers
erts: Refactor big-float compare on HALFWORD to use C-stack
erts: Fix halfword compile errors in ESTACK
|
|
* egil/gc-increase-tenure-rate/OTP-11617:
erts: Increase gc tenure rate
|
|
* rickard/load_balance/OTP-11385:
Fix usage of non-empty run-queue flag
|
|
|
|
* lukas/erts/sendfile_passive_mode_fix/OTP-11614:
erts: fix bug when using passive mode and sendfile
|
|
The bug incorrectly issued driver_select when un-ignoring an fd
for a socket in passive mode, which caused an incorrect error
tuple to be returned when the remote end closed the connection.
|
|
* rickard/load_balance/OTP-11385:
Disable scheduler utilization balancing if +scl true is passed
|
|
|
|
* rickard/load_balance/OTP-11385:
Add support for scheduler utilization balancing
|
|
* rickard/default_acul/OTP-11604:
erts: Use "+Muacul de" as default
|
|
For more information see documentation of the new command line argument +sub
|
|
* vinoski/system-flag-warn-msg:
fix system_flag deprecation warnings
OTP-11602
|
|
|
|
big_buf was one word too short on 32-bit emulators causing
memory corruption.
Seems like this did not cause a problem before the ESTACK memory layout
was changed in 172ebf11dc455e22b87f.
|
|
for the temporary conversion from float to big.
Preparation for coming bugfix of 'big_buf' array size.
|
|
* bjorn/erts/zlib-1.2.8:
configure: Prefer the system's zlib over own our zlib source
Update preloaded modules
Add the 'rle' zstrategy
Don't make gzio.c dependent on the zutil.h header file
Update zlib to 1.2.8
erts/zlib: Remove unused file example.c
|
|
Errors introduced in 172ebf11dc455e2
|
|
* sverk/term2bin-simplify:
erts: Refactor ESTACK & WSTACK to use a struct easy to "export"
erts: Fix benign ESTACK/WSTACK typo
erts: Fix compiler warnings for NO_JUMP_TABLE
erts: Run binary_SUITE:trapping even for 32bit
erts: Extend binary_SUITE:ttb_trap to also cover binary_to_term
erts: Remove the extra_root feature from the process structure
erts: Simplify term_to_binary by removing saved ESTACK from root set
|
|
|
|
OTP-11585
* sverk/bin2term-int-size-estimation-bug:
erts: Fix useless comparisons in binary_SUITE:external_size
erts: Reduce heap usage for binary_SUITE:deep
erts: Remove overestimation of heap space in binary_to_term
|
|
* bjorn/fix-line-number-in-bs-exception/OTP-11572:
compiler: Correct line number in exception from binary construction
|
|
* egil/fix-bs_get_integer/OTP-11581:
erts: Fix bs_get_integer instruction
|
|
This is not a clean refactor. It changes the behaviour slightly
of E/WSTACK_RESTORE. The allocated stack from E/WSTACK_SAVE is used
as-is and not copied into default_stack. This will hopefully fix an
illusive memory leak that valgrind is reporting.
|
|
Reported-by: Stanislav Seletskiy
|
|
Passing cpu_topology or scheduler_bind_type to erlang:system_flag/2 results
in an error report warning that the argument is deprecated and is slated
for removal in erts-5.10/OTP-R16. Since we're already past that version and
no substitute approach has yet been decided for these features, keep the
deprecation warning but bump the removal version it mentions up to Erlang
18.
|
|
|
|
|
|
Some time ago the driver_async_cancel function was deprecated and slated
for removal in R17. This commit removes the function along with its
associated tests and documentation, sets the
ERL_DRV_EXTENDED_MAJOR_VERSION to 3 and ERL_DRV_EXTENDED_MINOR_VERSION to
0, and modifies the sys_info_base_drv and sys_info_prev_drv tests in the
driver test suite to check version 3.0 instead of 2.0.
|
|
gzio.c is our own replacement for zlib's gzopen() etc
(based on a version of gzio.c that was included in an old version
of zlib).
Unfortunately, gzio.c still depends on the *internal* zlib header file
zutil.h which is not supposed to be used outside of the zlib source
code. The dependencies are the use of the gzFile typedef and the
F_OPEN() macro.
Instead of gzFile, define and use our own ErtsGzFile.
To get rid of the F_OPEN() macro, call open() of _wfopen() directly.
|
|
|
|
* rickard/otp-17-vsn-fix:
Fix issues with new versioning
|
|
* lukas/erts/fix_sp_usage_printout/OTP-11559:
erts: Replace tab with space for proper alignment
|
|
* lukas/erts/fd0_pipe_bug/OTP-11558:
erts: Make sure fds 0,1 and 2 are open
|
|
If they are not open a really nasty race where the io pipe in
erl_poll got fd 0 and the fd_driver setting fd 0 to blocking
could occur. This caused the emulator to hang during shutdown.
|
|
Not sure why it was disabled for 32bit in the first place?
|
|
and rename it 'trapping'.
|
|
as we don't use it and instead have the feature to disable GC
during trapping BIFs.
|
|
We disabled GC (in 522a29666088d5) during trapping and don't need to
include the saved ESTACK as part of root set.
|
|
|
|
The garbage collector tries to maintain the previous heap block size
during a minor gc, i.e. 'need' is not utilized in determining the size of
the new heap, instead it relies on tenure and garbage to be sufficiently large.
In instances during intense growing with exlusively live data on the heap
coupled with delayed tenure, fullsweeps would be triggered directly after
a minor gc to make room for 'need' since the new heap would be full.
To remedy this, the tenure of terms on the minor heap will always happen
(if it is below the high watermark) instead of every other minor gc.
|
|
|
|
|
|
|
|
|
|
for 32-bit integers (INTEGER_EXT) on 64-bit architectures.
|
|
|
|
* rickard/idoc:
Add misc internal documentation
|
|
|
|
The instruction bs_get_integer could unnecessarily trigger a garbage collection
in failure cases which is unwanted or outright dangerous.
Ex:
<<X:Sz,_/bits>> = <<"some binary">>
Previously, if Sz induced X to a bignum it would reserved memory size this on
the heap via a garbage collection before checking if the size could actually match.
It will now check the binary size before triggering a collection.
|