aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2015-03-24Fix zero timout timersRickard Green
2015-03-23erts_sys_hrtime() for lcntRickard Green
2015-03-23Better support for poor os monotonic sourcesRickard Green
2015-03-21Unbreak lcntRickard Green
2015-03-20otp_SUITE: Warn for calls to erlang:now/0Björn Gustavsson
2015-03-20Multiple timer wheelsRickard Green
2015-03-20Erlang based BIF timer implementation for scalabilityRickard Green
2015-03-20Implement ethread events with timeoutRickard Green
2015-03-20Introduce a new time APIRickard Green
The old time API is based on erlang:now/0. The major issue with erlang:now/0 is that it was intended to be used for so many unrelated things. This tied these unrelated operations together and unnecessarily caused performance, scalability as well as accuracy, and precision issues for operations that do not need to have such issues. The new API spreads different functionality over multiple functions in order to improve on this. The new API consists of a number of new BIFs: - erlang:convert_time_unit/3 - erlang:monotonic_time/0 - erlang:monotonic_time/1 - erlang:system_time/0 - erlang:system_time/1 - erlang:time_offset/0 - erlang:time_offset/1 - erlang:timestamp/0 - erlang:unique_integer/0 - erlang:unique_integer/1 - os:system_time/0 - os:system_time/1 and a number of extensions of existing BIFs: - erlang:monitor(time_offset, clock_service) - erlang:system_flag(time_offset, finalize) - erlang:system_info(os_monotonic_time_source) - erlang:system_info(time_offset) - erlang:system_info(time_warp_mode) - erlang:system_info(time_correction) - erlang:system_info(start_time) See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
2014-12-10Use the new 64-bit atomic ops APIRickard Green
2014-12-10Introduce a 64-bit atomic ops APIRickard Green
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.
2014-12-09Prepare releaseErlang/OTP
2014-12-09Update preloaded modulesMarcus Arendt
2014-12-08Add .appup fileRickard Green
2014-12-03Fix function "defined but not used" warningRickard Green
2014-12-03erts: Fix some spelling in internal docsSverker Eriksson
2014-12-02Merge branch 'lukas/erts/isfinite-fix/OTP-12268' into maintLukas Larsson
* lukas/erts/isfinite-fix/OTP-12268: erts: Fix finite warning for clang
2014-12-02erts: Fix finite warning for clangLukas Larsson
clang aka llvm claims to be __GNUC__ and thus we have to explicitly check that it is not used.
2014-12-02Merge branch 'lukas/erts/bif_info_rebuild/OTP-12344' into maintLukas Larsson
* lukas/erts/bif_info_rebuild/OTP-12344: Sort keys before generating
2014-12-01Merge branch 'vinoski/rm-foo-dtrace' into maintMarcus Arendt
* vinoski/rm-foo-dtrace: Clean up temporary dtrace file during config
2014-11-26Merge branch 'sverk/port_get_data-race/OTP-12208' into maintSverker Eriksson
* sverk/port_get_data-race/OTP-12208: erts: Fix port data memory allocation bug
2014-11-26Clean up temporary dtrace file during configSteve Vinoski
When configuring erts to support dynamic trace via dtrace, be sure to clean up the temporary file "erts/foo-dtrace.h" used to help check for dtrace support. Otherwise, it shows up as an untracked file in git.
2014-11-26Sort keys before generatingLukas Larsson
This has to be done in order to consistently generate the same file so that we do not get rebuilds all the time.
2014-11-25Merge branch 'rickard/maint-17/activate-runq/OTP-12287' into maintRickard Green
* rickard/maint-17/activate-runq/OTP-12287: Do not let non-empty run-queue prevent activation of scheduler
2014-11-25Merge branch 'rickard/ppc32-atomic-opt/OTP-12250' into maintRickard Green
* rickard/ppc32-atomic-opt/OTP-12250: Optimize atomic ops with release barrier for 32-bit PowerPC
2014-11-25Merge branch 'rickard/libatomic_ops_improvements/OTP-12302' into maintRickard Green
* rickard/libatomic_ops_improvements/OTP-12302: Implement support for double word atomics using libatomic_ops Improve usage of libatomic_ops for word size atomics
2014-11-25Merge branch 'sverk/cpool-search-improvement' into maintSverker Eriksson
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
2014-11-25erts: Fix port data memory allocation bugSverker Eriksson
for non-immediate port data >= sizeof(Eterm)*2 words.
2014-11-25Merge branch 'sverk/with-ssl-rpath/OTP-12316' into maintSverker Eriksson
* sverk/with-ssl-rpath/OTP-12316: erts,crypto: Add configure option --with-ssl-rpath
2014-11-25Merge branch 'lem/epmd_sd_notify/OTP-12321' into maintLukas Larsson
* lem/epmd_sd_notify/OTP-12321: epmd: Unify systemd autoconf macros usage epmd: Added systemd notify support to EPMD
2014-11-24epmd: Unify systemd autoconf macros usagePeter Lemenkov
Don't use both HAVE_SYSTEMD_DAEMON and HAVE_SYSTEMD_SD_DAEMON - use only the former one and remove the latter one entirely. Signed-off-by: Peter Lemenkov <[email protected]>
2014-11-24epmd: Added systemd notify support to EPMDPeter Lemenkov
Signed-off-by: Peter Lemenkov <[email protected]>
2014-11-24Merge branch 'lukas/erts/isfinite-fix/OTP-12268' into maintLukas Larsson
* lukas/erts/isfinite-fix/OTP-12268: erts: Use finite instead of isfinite with gcc
2014-11-24erts: Use finite instead of isfinite with gccLukas Larsson
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.
2014-11-20erts,crypto: Add configure option --with-ssl-rpathSverker Eriksson
2014-11-18Merge branch 'siri/no-unicode-atoms/OTP-12172' into maintSiri Hansen
* siri/no-unicode-atoms/OTP-12172: Remove comments about unicode atoms in OTP 18
2014-11-12Merge branch 's1n4/zlib_doc_typo' into maintBruce Yinhe
* s1n4/zlib_doc_typo: Fix a typo in the zlib documentation
2014-11-11Remove comments about unicode atoms in OTP 18Siri Hansen
There was once a plan to implement support for unicode atoms in OTP 18. This plan has been stopped until further notice, and the information about this is now removed from the documentation.
2014-11-10Implement support for double word atomics using libatomic_opsRickard Green
2014-11-10Improve usage of libatomic_ops for word size atomicsRickard Green
Use AO_fetch_compare_and_swap*() when present
2014-11-10Fix a typo in the zlib documentationSina Samavati
2014-11-10Merge branch 'vinoski/dirty-nif-return-gc' into maintBruce Yinhe
OTP-12300 * vinoski/dirty-nif-return-gc: Fix gc-related problem with dirty NIFs
2014-11-07Merge branch 'lemenkov/expose_nif_version' into maintBruce Yinhe
OTP-12298 * lemenkov/expose_nif_version: Expose NIF version
2014-11-06erts: Add internal docs for super carrier and new cpool search.Sverker Eriksson
2014-11-06Merge branch 'vinoski/fix-smp-disable-with-ds/OTP-12295' into maintMarcus Arendt
* vinoski/fix-smp-disable-with-ds/OTP-12295: Fix "-smp disable" for emulator with dirty schedulers
2014-11-05Merge branch 'maint-17' into maintMarcus Arendt
Conflicts: OTP_VERSION
2014-11-05Merge branch 'lukas/erts/fix_undefined_behaviour/OTP-12290' into maintLukas Larsson
* lukas/erts/fix_undefined_behaviour/OTP-12290: erts: Fix ub in list_to_integer and bignum div
2014-11-05Merge branch 'lukas/erts/fdopen_non_bound_win32_fix/OTP-12289' into maintLukas Larsson
* lukas/erts/fdopen_non_bound_win32_fix/OTP-12289: erts: getsockname is not allowed on non-bound sockets
2014-11-04Merge branch 'rickard/activate-runq/OTP-12287' into ↵Rickard Green
rickard/maint-17/activate-runq/OTP-12287 * rickard/activate-runq/OTP-12287: Do not let non-empty run-queue prevent activation of scheduler Conflicts: erts/emulator/beam/erl_process.c
2014-11-04Do not let non-empty run-queue prevent activation of schedulerRickard Green
Conflicts: erts/emulator/beam/erl_process.c