Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
Handle peer addresses that are unconfirmed (i.e. in state SCTP_UNCONFIRMED).
Handle unknown states instead of using ASSERT
|
|
* egil/ets/use-internal-stack/OTP-12356:
erts: Use internal stack for ets db_has_variable
|
|
For searching a key in an array we use linear search in arrays
up to 10 elements.
Selecting on tuple arity will always use linear search.
Instead of using two different instructions we assume selecting on
different tuple arities are always few in numbers.
|
|
|
|
* 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
|