Age | Commit message (Collapse) | Author |
|
* lukas/erts/crashdump_improvements/OTP-12377:
erts: Make main thread safe from pipe closed event
erts: Improve crash dumps
erts: Rename sys_sigset to sys_signal
erts: Introduce thread suspend functions
erts: Remove usage of QUANTIFY signal
erts: Add support for thread names
ets: Increase data available in crash dumps and ets:info
erts: Start compilation of beam_emu earlier
|
|
|
|
This commit improves crash dumps in several ways:
* Suspends schedulers to get a current snapshot
* Dumps information about scheduler
* Dumps stack trace of current running process
(including Garbing processes)
|
|
Also removed old legacy fallback that is no longer used
|
|
These functions allow any thread to suspend any other thread
immediately and then resume all threads. This is useful when
doing a crash dump in order to get a more accurate picture
of what state the system is in.
|
|
|
|
|
|
OTP-12376
|
|
* sverk/ets-take-2/OTP-12309:
erts: Optimize ets:lookup and ets:take for bags
Implement ets:take/2
|
|
* sverk/ct-assert:
erts: Add compile time assert ERTS_CT_ASSERT
|
|
* lukas/erts/cpu_timestamp_linux/OTP-12366:
erts: Allow cpu_timestamp tracing for Linux
|
|
* lukas/erts/non-blocking-shell:
erts: Make sure IOV_MAX is enforced for writev
erts: Make erts_printf work with non-blocking
|
|
|
|
* maint:
Use the new 64-bit atomic ops API
Introduce a 64-bit atomic ops API
|
|
|
|
The 64-bit atomic ops API is implemented by
* native word size atomic ops on 64-bit architectures, and
* native double word size atomic ops on 32-bit architectures
when available. When native double word size atomic is not
available, the fallback using modification counters is
used.
|
|
|
|
* egil/ets/use-internal-stack/OTP-12356:
erts: Use internal stack for ets db_has_variable
|
|
|
|
* maint:
Fix function "defined but not used" warning
|
|
|
|
|
|
|
|
and usage
|
|
* maint:
erts: Fix finite warning for clang
|
|
* lukas/erts/isfinite-fix/OTP-12268:
erts: Fix finite warning for clang
|
|
clang aka llvm claims to be __GNUC__ and thus we have to
explicitly check that it is not used.
|
|
* maint:
Sort keys before generating
|
|
* lukas/erts/bif_info_rebuild/OTP-12344:
Sort keys before generating
|
|
|
|
|
|
* sverk/port_get_data-race/OTP-12208:
erts: Fix port data memory allocation bug
|
|
This has to be done in order to consistently generate the same
file so that we do not get rebuilds all the time.
|
|
* maint:
Do not let non-empty run-queue prevent activation of scheduler
|
|
* rickard/maint-17/activate-runq/OTP-12287:
Do not let non-empty run-queue prevent activation of scheduler
|
|
|
|
OTP-12323
* sverk/cpool-search-improvement:
erts: Add internal docs for super carrier and new cpool search.
erts: Fix bug causing mbc to be deleted from cpool before it was inserted
erts: Fix bug causing mbc removed from cpool to be used at pool entrance
erts: Add pooled_list and traitor_list
|
|
for non-immediate port data >= sizeof(Eterm)*2 words.
|
|
* maint:
erts: Use finite instead of isfinite with gcc
|
|
* lukas/erts/isfinite-fix/OTP-12268:
erts: Use finite instead of isfinite with gcc
|
|
Turns out that isfinite emits a function call and not
an instruction in gcc, this makes estone float arith
about 50-75% slower. finite emits the instruction so
we use that instead.
|
|
by reducing number of iterations through objects with matching key
|
|
|
|
OTP-12300
* vinoski/dirty-nif-return-gc:
Fix gc-related problem with dirty NIFs
|
|
|
|
OTP-12298
* lemenkov/expose_nif_version:
Expose NIF version
|
|
|
|
|
|
* vinoski/fix-smp-disable-with-ds/OTP-12295:
Fix "-smp disable" for emulator with dirty schedulers
|
|
* lukas/erts/crash_dump_shell_info/OTP-12292:
erts: Print that we are crashdumping earlier
|