Age | Commit message (Collapse) | Author |
|
The functions have been found using: https://github.com/caolanm/callcatcher
|
|
|
|
OTP-14380
* rickard/ds-stack-size:
Suggested stack size options for dirty schedulers
|
|
* lukas/erts/fix_non-smp_scheduler_data_init/OTP-14152:
erts: Initialize esdp->type in non-smp to normal
|
|
OTP-14356
* rickard/timer-improvements:
Fix of later timer wheel
Minimum timeout position in each timer wheel
Manage timers to trigger at once in a slot similar to other timers
Introduce timer slot range counters
Timer wheel divided into a "soon wheel" and a "later wheel"
Remove unnecessary cancel callback from timer-wheel timers
Rearrange timer struct fields in order to simplify
Use timer wheel for short BIF timers
Use magic refs for BIF timers
Remove accessor BIF timer implementation
Fix aux-work timer implementation
|
|
The previous code worked through luck because the memory
returned from erts_alloc was zero:ed and SCHED_NORMAL
is 0. But if you run with +Meamin that is not always the
case which is how this error was detected.
|
|
* lukas/erts/20_minor_fixes:
erts: Rebuild etc executables if config.h changes
erts: Fix new gcc warning in check io
kernel: Add mem check to prim_file:large_write tc
erts: Fix two compiler warnings on OS X
erts: Fix erts_debug:df function info output
erts: Get rid of some unused function warnings on os x
|
|
|
|
|
|
|
|
|
|
* rickard/ds-fixes:
Fix dirty GC implementation
Fix multi-scheduling with only one normal scheduler
Fix +SDPcpu
|
|
|
|
* rickard/sched_type_tests:
Fix dirty scheduler type tests
|
|
|
|
|
|
|
|
Old test for dirty schedulers didn't work with Visual C++
|
|
from process psd through all owned/fixed tables.
As meta_pid_to{_fixed}_tab maps to slot in meta_main_tab
which is planned for destruction.
In this commit we no longer seize table lock while
freeing the table (free_table_cont) as it's not needed
and makes the code a bit simpler. Any concurrent operation
on the table will only access lock, owner and status
and then bail out.
|
|
|
|
Conflicts:
erts/emulator/beam/erl_binary.h
erts/emulator/beam/erl_monitors.c
erts/emulator/beam/erl_nif.c
erts/emulator/beam/global.h
erts/emulator/test/nif_SUITE_data/nif_SUITE.c
|
|
|
|
|
|
Magic references are *intentionally* indistinguishable from ordinary
references for the Erlang software. Magic references do not change
the language, and are intended as a pure runtime internal optimization.
An ordinary reference is typically used as a key in some table. A
magic reference has a direct pointer to a reference counted magic
binary. This makes it possible to implement various things without
having to do lookups in a table, but instead access the data directly.
Besides very fast lookups this can also improve scalability by
removing a potentially contended table. A couple of examples of
planned future usage of magic references are ETS table identifiers,
and BIF timer identifiers.
Besides future optimizations using magic references it should also
be possible to replace the exposed magic binary cludge with magic
references. That is, magic binaries that are exposed as empty
binaries to the Erlang software.
|
|
* maint:
Dirty schedulers should not touch scheduler data pointed to by process struct
|
|
OTP-14122
* rickard/ds-fix:
Dirty schedulers should not touch scheduler data pointed to by process struct
Conflicts:
erts/emulator/beam/erl_process.c
|
|
|
|
|
|
OTP-14152
* rickard/ds-features-20:
Remove experimental disclaimer on dirty schedulers
Scheduler wall time support for dirty schedulers
Always return info from system_info(dirty_[cpu|io]_schedulers*)
Improve etp-commands
Switch between scheduler types when multi-scheduling is blocked
Perform potentially long GC on dirty schedulers if available
Return and exception trace for nif-export scheduled BIFs
Optimize handling of BIF errors
Support for dirty BIFs
Reduction counting on non-tail return
|
|
* maint:
Fix memory leak of temporary heap
|
|
OTP-14135
* rickard/abandoned-heap-bugs:
Fix memory leak of temporary heap
|
|
|
|
|
|
This bug was introduced in previous commit, and has never been
released in an official OTP version.
|
|
|
|
|
|
* maint:
Fix faulty assertion
|
|
* rickard/debug-fix:
Fix faulty assertion
|
|
* maint:
Multi scheduling block bug-fixes
Fix VM global GC info for dirty schedulers
Leave dirty work in dirty run-queues on multi scheduling block
Fix premature removal of process struct
Fix crash due to GC of node entry on dirty scheduler
|
|
OTP-14122
* rickard/ds-fixes:
Fix VM global GC info for dirty schedulers
Leave dirty work in dirty run-queues on multi scheduling block
Fix premature removal of process struct
Fix crash due to GC of node entry on dirty scheduler
|
|
|
|
|
|
|
|
Refc on process struct could reach zero while it was still
referred by dirty scheduler
|
|
* maint:
Update etp-commands for dirty schedulers
Fix scheduling of system tasks on processes executing dirty
Fix call time tracing with dirty schedulers
Fix send of exit signal to process executing dirty
Fix dirty scheduler process priority
Fix alloc-util hard-debug
Silence debug warning when no beam jump table is used with dirty schedulers
Fix check_process_code() when NifExport is in use
Fix GC when NifExport is in use
Fix saving of original arguments when rescheduling via NifExport
Conflicts:
erts/emulator/beam/beam_bif_load.c
erts/emulator/beam/erl_nif.c
|
|
OTP-14051
* rickard/dirty-scheduling-fixes:
Update etp-commands for dirty schedulers
Fix scheduling of system tasks on processes executing dirty
Fix call time tracing with dirty schedulers
Fix send of exit signal to process executing dirty
Fix dirty scheduler process priority
Fix alloc-util hard-debug
Silence debug warning when no beam jump table is used with dirty schedulers
Conflicts:
erts/etc/unix/etp-commands.in
|
|
|
|
|
|
|
|
|