Age | Commit message (Collapse) | Author |
|
* rickard/barriers/OTP-9281:
Silence warnings
Fix build with hipe on amd64
Reduce number of atomic ops
Use 32-bit atomic for port snapshot
Remove pointless erts_ports_alive variable
Ensure quick break
Ensure that all rehashing information are seen when done
Ensure that stack updates are seen when stack is released
Add needed barriers for write_concurrency tables
Homogenize memory barriers on atomics
|
|
Counters for active, and used schedulers have been coalesced in
order to reduce the amount of atomic operations needed.
Some currently not strictly necessary barriers have also been added
in order to be future proof.
|
|
* bjorn/fix-warnings/OTP-9250:
Eliminate alias warning in gcc 4.5.2
erl_trace: Eliminate alias warning
|
|
* rickard/gc-other/OTP-9211:
Fix bad assertions
Avoid scheduling of processes being garbage collected by others
|
|
|
|
|
|
* sverker/erts_printf-halfword:
erts_printf %be to print integers of size Eterm
Fix use of type BeamInstr in hipe_debug.c
Conflicts:
erts/emulator/hipe/hipe_debug.c
|
|
Conflicts:
erts/vsn.mk
|
|
|
|
|
|
The status of a process was unnecessarily set to waiting before
the process was enqueued in a run queue. This bug was harmless
up until OTP-R14B01. In OTP-R14B02 erlang:hibernate/3 was fixed
(OTP-9125). After the introduction of OTP-9125, the previously
harmless process status bug sometimes caused erroneous badarg
exceptions from process_info().
|
|
* ta/erts-unused-vars:
erts: Remove unused variables
OTP-9205
|
|
* pan/system_info_procs_crash/OTP-9140:
Make erts_printf %T not recurse on C stack
Corrected fd_driver and cleaned up some really old code in win32/sys.[ch]
|
|
|
|
Existing %bp to print pointer size integers does not work in halfword
emulator to print Eterm size integers.
|
|
|
|
* sverker/valgrind-new-suppressions:
Make halfword emulator with valgrind target allocate low memory
Add erts_alloc_permanent_cache_aligned to supress valgrind
|
|
|
|
Ease the valgrind supression of memory that are permanently
allocated and then aligned up to cache line.
|
|
* pan/halfword-tmp-heap-fixes/OTP-8332:
Fix assymetric (Un)UseTmpHeap in erl_process.c
Conflicts:
erts/emulator/beam/beam_emu.c
|
|
|
|
Also added ASSERTion in beam_emu.c that the tmp-heap-counter in 0.
|
|
* egil/timer-wheel-min-time/OTP-8990:
Teach timer-wheel slots to use double linked lists
Remove timer-thread implementation
Refactor timer interface
Teach timer-wheel to keep min time
|
|
|
|
|
|
* rickard/ets-tab-delete/OTP-8999:
Safe deallocation of ETS-table structures
Fix rwlock resource leak when hitting system limit
Conflicts:
erts/emulator/beam/erl_process.h
erts/emulator/beam/erl_process.c
|
|
|
|
Ensure that all threads potentially accessing an ETS-table have dropped
all references to the table before deallocating it.
|
|
|
|
* rickard/load-balance-wrap/OTP-8950:
Prevent wrapping of values used during load balancing
|
|
Some integer values used during load balancing could
under rare circumstances wrap causing a load unbalance
between schedulers.
|
|
* rickard/cpu-groups/OTP-8861:
Generalize reader groups
Move cpu topology functionality into erl_cpu_topology.[ch]
Do not use more reader groups for schedulers than schedulers
Conflicts:
erts/emulator/beam/erl_init.c
|
|
Reader groups have been generalized to cpu groups which can be
used for implementing reader groups, but also for implementing
other functionality in the future.
|
|
|
|
* rickard/sys_schedule_debug:
Verify that no outstanding I/O exist when checking for I/O in debug build
|
|
|
|
* rickard/sched-misc/OTP-8932:
Fix erts_schedule_misc_op() so it can be called from arbitrary threads
|
|
Tracing to port could cause an emulator crash when unloading the
trace driver.
|
|
|
|
The scheduler wakeup threshold is now possible to adjust at system boot.
For more information see the `+swt' command line argument of `erl'.
|
|
Lower the scheduler wakeup threshold since schedulers aren't spuriously
woken as before (since commit 59ee2a593090e7d53c97ceba63cbd300d1b9657e).
|
|
Calling erlang:system_info(update_cpu_info) on platforms where no
CPU topology was found could result in a crash if other CPU
information had changed. This bug was introduced in the 'dev'
branch before R14B (commit 1b273b618002d65159453fdfb9520a9476e4423a).
That is, the bug has never been seen in a released runtime system.
|
|
* rickard/cpu-info-unbind/8765:
Fix erroneous error reports about unbind failure
|
|
On platforms where binding of schedulers is not supported, numerous error
reports on the form "Scheduler <N> failed to unbind from cpu -1: enotsup"
were erroneously issued. This bug was introduced in the 'dev' branch
before R14B (commit 1b273b618002d65159453fdfb9520a9476e4423a). That is,
the bug has never been seen in a released runtime system.
Reported-By: Tuncer Ayaz
|
|
* egil/R14A/binary-gc-wrap/OTP-8730:
Increase vheap counter to Uint64
Fix wrapping in next vheap calculation
|
|
* rickard/cpu-info/OTP-8765:
Initialize environment functionality after thread lib
Fix faulty assertions
Implement automatic detection of CPU topology on Windows
Make it possible to reread and update detected CPU information
|
|
Calling erlang:system_info/1 with the new argument 'update_cpu_info'
will make the runtime system reread and update the internally stored
CPU information. For more information see the documentation of
erlang:system_info(update_cpu_info).
|
|
This will reduce the risk of integer wrapping in bin vheap counting.
The vheap size series will now use the golden ratio instead of doubling
and fibonacci sequences.
OTP #8730
|
|
For a short period of time no_empty_run_queues may have
been increased twice for a specific run queue. Two
assertions did not take this into account.
|
|
* rickard/ethread-rewrite/OTP-8544:
Rewrite ethread library
|