Age | Commit message (Collapse) | Author |
|
Time measurements are always tricky, particulary on virtual hosts.
On one particular virtual host, the measured times were often 0.
Measuring the time for 100 calls instead of 10 calls helps, but
0 can still be returned, so we will also need to discard
measurements that return 0 and try again.
|
|
On a computer with 32 schedulers, there would be 9632 (301*32)
'timeout' message in the receive queue. Receiving them with a
selective receive (matching on the timer ID) is quite slow.
Change the test case to read out the queue in the order the
messages are stored in the queue.
|
|
old_scheduler_SUITE was written before the SMP emulator.
It does not test anything that scheduler_SUITE does not
test. Keeping it wastes time when running the emulator
test suite, and does not help us find any bugs that
scheduler_SUITE would find.
|
|
process_SUITE starts os_mon in init_per_suite/1. Therefore,
there may be occasional alarm info messages received. Make
sure that they are ignored and don't cause the test fail to
fail.
Also, get rid of the flush/0 function that discards all
messages in the message queue. Instead, be more selective
and only discard {error, ...} messages.
|
|
If process_SUITE:spawn_opt_max_heap_size/1 failed, the default
value for the maximum heap size could have been changed. That
would cause other test cases that spawned huge processes to
fail.
Contain the damage by always restoring the default value
for max_heap_size in end_per_testcase/2.
|
|
bulk_send_bigbig/1 sometimes fails even if there is nothing wrong.
Stop testing the ratio, and just return information about the speed
and number of monitor messages. The testcase will still serve as a
smoke test of the +zdbbl option.
|
|
Refactor bulk_send_bigbig/1 to make it somewhat easier to follow.
|
|
|
|
c062dfc485a added timetraps to test suites that had no timetraps.
Some of added timetraps are only 5 or 10 seconds, which is can be
too short time on some slow computers. Change those times to one
or two minutes.
|
|
It is expected that low-priority processes should be allowed
to run about 1/8 of the time of normal-priority processes.
The proportion calculated was usually considerably lower than
1/8. It seems that the main reason is the punishement in
reductions when sending to a process that alreday has many
messages in the message queue. I have verified that by running
the emulator with the +snsp to turn off the send punishment.
To avoid that punishment, let the server process run at high
priority so that it can keep its message queue short.
It seems that the proportion is now very close to 1/8. Therefore,
we can tighten the margins for the proportion.
|
|
* lukas/erts/hipe_mkliterals_libs/ERIERL-14/OTP-14447:
hipe: Fix hipe_mkliterals make recipe
|
|
Make some C code static
|
|
erts: Remove unused functions from erl_cpu_topology
|
|
Update erl_msg_tracer example
|
|
|
|
|
|
This reverts commit eaf8ca41dfa4850437ad270d3897399c9358ced0.
|
|
|
|
The garbage_collect message could be received while waiting for trace messages,
causing the test to crash erroneously.
|
|
|
|
OTP-14438
* rickard/sys-proc-off-heap-msgq:
Enable off-heap message queue for code purger, et. al.
|
|
|
|
* bjorn/erts/fix-sys-task-cleanup:
erl_process.c: Add more assertions in process termination
Make sure that asynchronous replies are not lost
|
|
The fix avoids registering the main thread as an emulator thread
on MacOSX. This since WX steals the main thread for its own usage
on MacOSX, and use the thread as an ordinary driver thread.
|
|
If a link dependency is added in LDFLAGS it should be resolved
in LIBS, so we have to use LIBS and not TYPE_LIBS.
|
|
Before terminating a process, add assertions to make sure that
all queues for system tasks have been emptied.
|
|
If an synchronous GC was requested by calling:
erlang:garbage_collect(Pid, [{async,Ref}])
the reply message could in certain circumstances be
lost.
The problem is in cleanup_sys_tasks() in erl_process.c.
If there were at least one dirty task, only the first
dirty task would be cleaned up. All other systems tasks
would not be cleaned up (that is, no replies would be
sent to other processes waiting for the tasks to finish).
|
|
OTP-14434
* sverker/crash-dump-seconds-doc:
erts: Clarify ERL_CRASH_DUMP_SECONDS docs
|
|
* bjorn/cuddle-with-tests:
bs_construct_SUITE: Correct calculation of free memory
|
|
|
|
* rickard/escript-space-path-fix/OTP-14433:
escript: Do not split path to Erlang system into multiple words
|
|
especially default behavior without -heart,
which is wait indefinitely for crash dump.
|
|
Fix erlang system lookup from escript bug introduced in PR #1293
OTP-14201
|
|
free_mem/0 returned the number of free Kb, but the caller
assumed that it was in Mb.
Also add another clause to further scale down the size of
the binaries created.
|
|
|
|
* dgud/erts/revert-default-process-name:
Revert setting default argv0 name
|
|
escript failed to start Erlang systems with spaces in the
absolute path (when absolute path was used).
|
|
Erlang system found in PATH was used even when explicitly pointing out
the escript binary in another Erlang system.
|
|
and base allowed hash deviation on nr of standard deviations
to make it easier to fiddle with the work load.
|
|
* lukas/doc/extend-secure-distr-warn/OTP-14425:
otp: Extend secure distribution docs warnings
|
|
Warnings have been added to the relevant documentation
about not using un-secure distributed nodes in exposed
environments.
|
|
Changing argv[0] from emu name to progname if ESCRIPT_NAME was not set
caused to many failing scripts, revert that part of the change.
See 86f6a9856
|
|
* lukas/erts/etp-processes-ports-optimization:
erts: Optimize etp-processes and etp-ports
|
|
* sverker/enif_select-testing:
erts: Fix nif_SUITE:monitor_frenzy for threadless
erts: Improve message flush in nif_SUITE
erts: Test monitor resource destructor from thread
|
|
|
|
Pass number of expected messages in order to
wait longer for messages (for slow machines)
while not wasting test time waiting for nothing.
|
|
which is scheduled on non-smp VM.
|
|
Not calculating the max, table and invalid addresses
each loop speeds up iterating through the processes list
by about 5x.
|
|
|
|
|