Age | Commit message (Collapse) | Author |
|
|
|
The tests assume that the most active process will be the current
one, which is no longer true since the delayed_write option now
uses a wrapper process for much of its work.
The timeout for this test has been increased to account for the
lack of delayed_write; 60s was enough for everything except the
debug build on some machines.
|
|
|
|
|
|
|
|
This subtest revolves around the possibility that the underlying
port can be killed, which is nonsense now that the file suite no
longer uses ports for anything.
|
|
This test revolves around the possibility that the underlying port
can be killed, which is nonsense now that the file suite no longer
uses ports for anything.
|
|
This test is irrelevant as the new implementation doesn't use async
threads.
|
|
|
|
|
|
The cumulative wait time was as long as the delay itself in the
flush-on-size test, causing the test to pass because the write
managed to time out.
|
|
|
|
|
|
|
|
This also hides the module behind ?PRIM_FILE to make testing new
implementations less painful.
|
|
This improves the latency of file operations as dirty schedulers
are a bit more eager to run jobs than async threads, and use a
single global queue rather than per-thread queues, eliminating the
risk of a job stalling behind a long-running job on the same thread
while other async threads sit idle.
There's no such thing as a free lunch though; the lowered latency
comes at the cost of increased busy-waiting which may have an
adverse effect on some applications. This behavior can be tweaked
with the +sbwt flag, but unfortunately it affects all types of
schedulers and not just dirty ones. We plan to add type-specific
flags at a later stage.
sendfile has been moved to inet_drv to lessen the effect of a nasty
race; the cooperation between inet_drv and efile has never been
airtight and the socket dying at the wrong time (Regardless of
reason) could result in fd aliasing. Moving it to the inet driver
makes it impossible to trigger this by closing the socket in the
middle of a sendfile operation, while still allowing it to be
aborted -- something that can't be done if it stays in the file
driver.
The race still occurs if the controlling process dies in the short
window between dispatching the sendfile operation and the dup(2)
call in the driver, but it's much less likely to happen now.
A proper fix is in the works.
--
Notable functional differences:
* The use_threads option for file:sendfile/5 no longer has any
effect.
* The file-specific DTrace probes have been removed. The same
effect can be achieved with normal tracing together with the
nif__entry/nif__return probes to track scheduling.
--
OTP-14256
|
|
|
|
If a NIF monitor fired while the resource was present in an ETS
table, the lock checker would erroneously report a lock order
violation.
This has no effect outside of debug builds.
|
|
This introduces a way to retrieve erlang terms from NIF IO queues
without having to resort to copying.
OTP-14797
|
|
|
|
Document enif_realloc and pointer alignment guarantees
|
|
* maint:
Fix type create_option() in mnesia
|
|
Fix type create_option() in mnesia
|
|
* maint:
Fix max atom size overflow on 64-bits Erlang by lowering the MAX_ATOM_TABLE_SIZE
Fix integer overflow when set a large maximum value for atom table
|
|
Fix integer overflow when set a large maximum value for atom table
OTP-14796
|
|
* bjorn/compiler/coverage:
v3_codegen: Remove check of operand for bs_context_to_binary
beam_jump: Eliminate a repeated clause
beam_asm: No longer allow iolists as contents in chunk/2
beam_utils_SUITE: Cover more lines in beam_utils
guard_SUITE: Add a test case to cover beam_dead:turn_op/1
Recognize 'nil' as a literal in beam_utils:bif_to_test/3
Cover more code in beam_bsm:btb_opt_1/3
Add test to cover a line in v3_kernel:opt_single_valued/3
|
|
* maint:
Avoid falling measurements testcases on slow machines
stdlib: string optimize special case for ASCII
stdlib: Minor unicode_util opts
|
|
* dgud/stdlib/optimize-string-lists:
Avoid falling measurements testcases on slow machines
stdlib: string optimize special case for ASCII
stdlib: Minor unicode_util opts
OTP-14670
|
|
Minor grammar tweak in ETS documentation
|
|
|
|
=== OTP-19.2.3.1 ===
Changed Applications:
- erts-8.2.2.1
Unchanged Applications:
- asn1-4.0.4
- common_test-1.13
- compiler-7.0.3
- cosEvent-2.2.1
- cosEventDomain-1.2.1
- cosFileTransfer-1.2.1
- cosNotification-1.2.2
- cosProperty-1.2.1
- cosTime-1.2.2
- cosTransactions-1.3.2
- crypto-3.7.2
- debugger-4.2.1
- dialyzer-3.0.3
- diameter-1.12.1
- edoc-0.8.1
- eldap-1.2.2
- erl_docgen-0.6.1
- erl_interface-3.9.2
- et-1.6
- eunit-2.3.2
- gs-1.6.2
- hipe-3.15.3
- ic-4.4.2
- inets-6.3.5
- jinterface-1.7.1
- kernel-5.1.1
- megaco-3.18.1
- mnesia-4.14.3
- observer-2.3
- odbc-2.12
- orber-3.8.2
- os_mon-2.4.1
- otp_mibs-1.1.1
- parsetools-2.1.4
- percept-0.9
- public_key-1.3
- reltool-0.7.2
- runtime_tools-1.11
- sasl-3.0.2
- snmp-5.2.4
- ssh-4.4
- ssl-8.1
- stdlib-3.2
- syntax_tools-2.1.1
- tools-2.9
- typer-0.9.11
- wx-1.8
- xmerl-1.3.12
|
|
|
|
|
|
* sverker/mbcs-pool-stats/ERL-88/OTP-14795:
Fix erlang:memory
Remove duplicate stats for 'fetch'
Do not include new stats for 'allocator_sizes'
Add more cpool stats
erts: Add statistics for cpoll fetch attempts
|
|
|
|
Avoid unicode_util module call for ASCII strings
|
|
Exit early for Latin-1
|
|
|
|
* ingela/ssl/ERL-521/OTP-14794:
ssl: Make sure all possible data is delivered
|
|
Conflicts:
lib/ssl/src/ssl_connection.erl
|
|
* ingela/ssl/cleaner-code:
ssl: Add gracefullness to dtls code
ssl: Remove old softupgrade code
ssl: Use genstamtem properly
|
|
The bs_context_to_binary instruction only allows a register operand.
v3_codegen has a test to ensure that the operand is a register.
That test is no longer necessary. There used to be a possibility
that optimizations in sys_core_fold and the inliner could change
the operand for bs_context_to_binary to a binary literal. Since
09112806c15a81b that can no longer happen, because no more
optimizations are run after the introduction of the
bs_context_to_binary instruction.
|
|
|
|
* maint:
dialyzer: Extend the map implementation's handling of ?unit
dialyzer: Use string:find() instead of string:str()
|
|
* hasse/dialyzer/maps_anon_fun/OTP-14743:
dialyzer: Extend the map implementation's handling of ?unit
dialyzer: Use string:find() instead of string:str()
|
|
* maint:
public_key: Fix failing pkix_verify_hostname_subjAltName_IP TC
|
|
* hans/ssh/public_key/fix_bad_cert_merge:
public_key: Fix failing pkix_verify_hostname_subjAltName_IP TC
|
|
The create_option() type in mnesia lacks the user_properties field
which is used by mnesia in various places.
|
|
|
|
|