Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-10-02 | erts: Update +IOt and msacc docs | Lukas Larsson | |
2017-10-02 | erts: Remove eager check io | Lukas Larsson | |
It is not longer relevant when using the poll thread | |||
2017-10-02 | erts: Move all I/O polling to a seperate thread | Lukas Larsson | |
2017-08-14 | erts: Cleanup erl and erlang docs after non-smp removal | Lukas Larsson | |
2017-05-24 | erts: Clarify ERL_CRASH_DUMP_SECONDS docs | Sverker Eriksson | |
especially default behavior without -heart, which is wait indefinitely for crash dump. | |||
2017-05-23 | otp: Extend secure distribution docs warnings | Lukas Larsson | |
Warnings have been added to the relevant documentation about not using un-secure distributed nodes in exposed environments. | |||
2017-05-16 | Let --enable-lock-counter build an additional emulator | Björn Gustavsson | |
"./configure --enable-lock-counter" would modify the behavior of the default emulator (usually SMP). To make lock counting more accessible, change --enable-lock-counter to build an additional emulator in the same way as: (cd erts/emulator && make lcnt) (The next commit will make it easier to start the built lock-counter emulator.) | |||
2017-05-04 | Update copyright year | Raimo Niskanen | |
2017-04-27 | Merge branch 'rickard/ds-stack-size' | Rickard Green | |
OTP-14380 * rickard/ds-stack-size: Suggested stack size options for dirty schedulers | |||
2017-04-21 | erts: Deprecate the non-smp emulators | Lukas Larsson | |
2017-04-11 | Suggested stack size options for dirty schedulers | Rickard Green | |
2017-02-14 | Fixed typos in erts | Andrew Dryga | |
2017-01-17 | Remove experimental disclaimer on dirty schedulers | Rickard Green | |
2016-12-15 | Merge branch 'egil/erts/handle-sigterm-nicely/OTP-14085' into maint | Björn-Egil Dahlberg | |
* egil/erts/handle-sigterm-nicely/OTP-14085: erts: Document SIGTERM handler erts: Add SIGTERM signal handler | |||
2016-12-15 | erts: Document SIGTERM handler | Björn-Egil Dahlberg | |
2016-11-22 | Merge branch 'sverker/erts/crash-dump-limit/OTP-14046' into maint | Sverker Eriksson | |
* sverker/erts/crash-dump-limit: erts: Add env variable ERL_CRASH_DUMP_BYTES erts: Add ErtsStrToSint64 erts: Refactor crash dumping with cbprintf erts: Add cbprintf for Callback Printing erts: Remove unused erl_crash_dump() | |||
2016-11-22 | erts: Add env variable ERL_CRASH_DUMP_BYTES | Sverker Eriksson | |
to limit crash dump size | |||
2016-10-28 | Document the -epmd_module switch in erl | José Valim | |
2016-09-28 | Document the order of directories added with code:add_pathsa/1 | Siri Hansen | |
code:add_pathsa/1 reverts the list of directories when adding it at the beginning of the code path. The command line option '-pa' behaves in the same way. This is now documented. | |||
2016-09-01 | doc: Correct errors introduced by Editorial changes | Hans Bolinder | |
Fix some older errors as well. | |||
2016-07-13 | erts: Review of documentation changes | Lukas Larsson | |
2016-07-13 | erts: Editorial changes | xsipewe | |
2016-06-17 | Minor reorganization of dirty NIF documentation | Rickard Green | |
2016-06-16 | Add documentation about dirty job type | Rickard Green | |
2016-06-14 | erts: Fix doc xml errors | Lukas Larsson | |
2016-05-27 | Merge branch 'rickard/rm-mqd-mixed/OTP-13366' | Rickard Green | |
* rickard/rm-mqd-mixed/OTP-13366: Remove the 'message_queue_data' option 'mixed' | |||
2016-05-25 | Add -start_epmd command line option | Magnus Henoch | |
Add a command line option that lets you disable automatic starting of epmd when starting a distributed node. This differs from the undocumented setting -no_epmd, in that it does not affect the starting of an erl_epmd process within erl_distribution: the newly started node will expect an epmd instance to have been started previously. | |||
2016-05-25 | Remove the 'message_queue_data' option 'mixed' | Rickard Green | |
2016-05-10 | erts: Implement max_heap_size process flag | Lukas Larsson | |
The max_heap_size process flag can be used to limit the growth of a process heap by killing it before it becomes too large to handle. It is possible to set the maximum using the `erl +hmax` option, `system_flag(max_heap_size, ...)`, `spawn_opt(Fun, [{max_heap_size, ...}])` and `process_flag(max_heap_size, ...)`. It is possible to configure the behaviour of the process when the maximum heap size is reached. The process may be sent an untrappable exit signal with reason kill and/or send an error_logger message with details on the process state. A new trace event called gc_max_heap_size is also triggered for the garbage_collection trace flag when the heap grows larger than the configured size. If kill and error_logger are disabled, it is still possible to see that the maximum has been reached by doing garbage collection tracing on the process. The heap size is defined as the sum of the heap memory that the process is currently using. This includes all generational heaps, the stack, any messages that are considered to be part of the heap and any extra memory the garbage collector may need during collection. In the current implementation this means that when a process is set using on_heap message queue data mode, the messages that are in the internal message queue are counted towards this value. For off_heap, only matched messages count towards the size of the heap. For mixed, it depends on race conditions within the VM whether a message is part of the heap or not. Below is an example run of the new behaviour: Eshell V8.0 (abort with ^G) 1> f(P),P = spawn_opt(fun() -> receive ok -> ok end end, [{max_heap_size, 512}]). <0.60.0> 2> erlang:trace(P, true, [garbage_collection, procs]). 1 3> [P ! lists:duplicate(M,M) || M <- lists:seq(1,15)],ok. ok 4> =ERROR REPORT==== 26-Apr-2016::16:25:10 === Process: <0.60.0> Context: maximum heap size reached Max heap size: 512 Total heap size: 723 Kill: true Error Logger: true GC Info: [{old_heap_block_size,0}, {heap_block_size,609}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}] flush(). Shell got {trace,<0.60.0>,gc_start, [{old_heap_block_size,0}, {heap_block_size,233}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}]} Shell got {trace,<0.60.0>,gc_max_heap_size, [{old_heap_block_size,0}, {heap_block_size,609}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}]} Shell got {trace,<0.60.0>,exit,killed} | |||
2016-04-26 | erts: Rename erl flag +xmqd to +hmqd | Lukas Larsson | |
Flags that control the heap should all fall under the +h flag | |||
2016-03-15 | update copyright-year | Henrik Nord | |
2016-03-01 | Merge branch 'maint' | Ingela Anderton Andin | |
2016-02-10 | epmd: support IPv6 node registration | Michael Santos | |
Allow IPv6 nodes to register with and query epmd. On systems with IPv6 support: * epmd listens on both the IPv4 and IPv6 ANY or loopback sockets * the epmd cli client connects to epmd over the IPv6 loopback * distributed nodes started with "-proto_dist inet6_tcp" will register with epmd over IPv6 To work on IPv6 capable systems that have IPv6 support disabled, epmd ignores errors opening the socket if the protocol is not supported. Similarly, the epmd client will fall back to IPv4 if the IPv6 socket is not available. Update the minimum supported version of Windows to Windows Vista to support IPv6. | |||
2016-01-22 | Merge branch 'maint' | Siri Hansen | |
2016-01-14 | Add documentation of '-path' flag to 'erl' | Siri Hansen | |
This flag replaces the path specified in the boot script. It has always existed, but was earlier only documented in SASL (script). | |||
2015-12-08 | Replace off_heap_message_queue option with message_queue_data option | Rickard Green | |
The message_queue_data option can have the values - off_heap - on_heap - mixed | |||
2015-11-12 | Merge branch 'rickard/ohmq/OTP-13047' | Rickard Green | |
* rickard/ohmq/OTP-13047: Fragmented young heap generation and off_heap_message_queue option Refactor GC Introduce literal tag Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/erl_gc.c | |||
2015-11-12 | Fragmented young heap generation and off_heap_message_queue option | Rickard Green | |
* The youngest generation of the heap can now consist of multiple blocks. Heap fragments and message fragments are added to the youngest generation when needed without triggering a GC. After a GC the youngest generation is contained in one single block. * The off_heap_message_queue process flag has been added. When enabled all message data in the queue is kept off heap. When a message is selected from the queue, the message fragment (or heap fragment) containing the actual message is attached to the youngest generation. Messages stored off heap is not part of GC. | |||
2015-11-04 | Fix typos and grammar | Derek Brown | |
2015-11-04 | [erts] Correct documentation | Hans Bolinder | |
Fix mistakes found by 'xmllint'. | |||
2015-06-18 | Change license text to APLv2 | Bruce Yinhe | |
2015-06-10 | Merge branch 'rickard/delayed-delete-node/OTP-12802' | Rickard Green | |
* rickard/delayed-delete-node/OTP-12802: Delayed node table GC | |||
2015-06-10 | Delayed node table GC | Rickard Green | |
2015-05-22 | Map error logger warnings to warning messages by default | Richard Carlsson | |
Also fix and document the broken +We option. | |||
2015-03-20 | Merge branch 'rickard/time_api/OTP-11997' | Rickard Green | |
* rickard/time_api/OTP-11997: (22 commits) Update primary bootstrap inets: Suppress deprecated warning on erlang:now/0 inets: Cleanup of multiple copies of functions Add inets_lib with common functions used by multiple modules inets: Update comments Suppress deprecated warning on erlang:now/0 Use new time API and be back-compatible in inets Remove unused functions and removed redundant test asn1 test SUITE: Eliminate use of now/0 Disable deprecated warning on erlang:now/0 in diameter_lib Use new time API and be back-compatible in ssh Replace all calls to now/0 in CT with new time API functions test_server: Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API otp_SUITE: Warn for calls to erlang:now/0 Replace usage of erlang:now() with usage of new API Multiple timer wheels Erlang based BIF timer implementation for scalability Implement ethread events with timeout ... Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/compiler/ebin/beam_asm.beam bootstrap/lib/compiler/ebin/compile.beam bootstrap/lib/kernel/ebin/auth.beam bootstrap/lib/kernel/ebin/dist_util.beam bootstrap/lib/kernel/ebin/global.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam bootstrap/lib/kernel/ebin/inet_db.beam bootstrap/lib/kernel/ebin/inet_dns.beam bootstrap/lib/kernel/ebin/inet_res.beam bootstrap/lib/kernel/ebin/os.beam bootstrap/lib/kernel/ebin/pg2.beam bootstrap/lib/stdlib/ebin/dets.beam bootstrap/lib/stdlib/ebin/dets_utils.beam bootstrap/lib/stdlib/ebin/erl_tar.beam bootstrap/lib/stdlib/ebin/escript.beam bootstrap/lib/stdlib/ebin/file_sorter.beam bootstrap/lib/stdlib/ebin/otp_internal.beam bootstrap/lib/stdlib/ebin/qlc.beam bootstrap/lib/stdlib/ebin/random.beam bootstrap/lib/stdlib/ebin/supervisor.beam bootstrap/lib/stdlib/ebin/timer.beam erts/aclocal.m4 erts/emulator/beam/bif.c erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_db_hash.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_thr_progress.c erts/emulator/beam/utils.c erts/emulator/sys/unix/sys.c erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/init.beam erts/preloaded/src/erts_internal.erl lib/common_test/test/ct_hooks_SUITE_data/cth/tests/empty_cth.erl lib/diameter/src/base/diameter_lib.erl lib/kernel/src/os.erl lib/ssh/test/ssh_basic_SUITE.erl system/doc/efficiency_guide/advanced.xml | |||
2015-03-20 | Introduce a new time API | Rickard 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. | |||
2015-03-12 | Merge branch 'egil/process_dictionary-initial-size/OTP-12535' | Björn-Egil Dahlberg | |
* egil/process_dictionary-initial-size/OTP-12535: erts: Document option 'hpds' erts: Enable command line argument for initial pd size | |||
2015-03-04 | erts: Document option 'hpds' | Björn-Egil Dahlberg | |
2014-10-23 | Merge branch 'rickard/default-eager-check-io/OTP-12254' | Rickard Green | |
* rickard/default-eager-check-io/OTP-12254: Change default to "eager check I/O" | |||
2014-10-23 | Merge branch 'rickard/master/eager-check-io/OTP-12117' | Rickard Green | |
* rickard/master/eager-check-io/OTP-12117: No eager check I/O on OSE Introduce support for eager check I/O scheduling |