aboutsummaryrefslogtreecommitdiffstats
path: root/erts/doc/src/erl.xml
AgeCommit message (Collapse)Author
2012-04-25Merge branch 'rickard/sched-busy-wait/OTP-10044' into maint-r15Erlang/OTP
* rickard/sched-busy-wait/OTP-10044: Add switch controlling scheduler busy wait Conflicts: erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h
2012-04-23Merge branch 'rickard/sched-wakeup-other/OTP-10033' into ↵Rickard Green
rickard/sched-wakeup-other-r15b01/OTP-10033 Conflicts: erts/emulator/beam/erl_process.c erts/vsn.mk
2012-04-23Add switch controlling scheduler busy waitRickard Green
2012-04-23Implement proposal for new scheduler wakeup strategyRickard Green
2011-12-05Fix typos in erl(1)Tuncer Ayaz
2011-12-01Merge branch 'rickard/deprecate-runtime-binding/OTP-9749'Rickard Green
* rickard/deprecate-runtime-binding/OTP-9749: Deprecate erlang:system_flag/2 arguments scheduler_bind_type and cpu_topology
2011-12-01Deprecate erlang:system_flag/2 arguments scheduler_bind_type and cpu_topologyRickard Green
The use of erlang:system_flag(scheduler_bind_type, _) and erlang:system_flag(cpu_topology, _) have been deprecated and scheduled for removal in erts-5.10/OTP-R16. For more information see the documentation of erlang:system_flag/2.
2011-11-30Merge branch 'rickard/default-unbound/OTP-9726'Rickard Green
* rickard/default-unbound/OTP-9726: Use unbound schedulers as default
2011-11-18Use unbound schedulers as defaultRickard Green
As of ERTS version 5.9 (OTP-R15B) the runtime system will by default not bind schedulers to logical processors. If the Erlang runtime system is the only operating system process that binds threads to logical processors, this improves the performance of the runtime system. However, if other operating system processes (as for example another Erlang runtime system) also bind threads to logical processors, there might be a performance penalty instead. In some cases this performance penalty might be severe. Due to this, we change the default so that the user must make an active decision in order to bind schedulers.
2011-11-18Merge branch 'rickard/sched-compact-load/OTP-9695'Rickard Green
* rickard/sched-compact-load/OTP-9695: Add switch that can disable scheduler compaction of load
2011-11-15Add switch that can disable scheduler compaction of loadRickard Green
2011-10-17Correct the docsHans Bolinder
2011-08-18erl: Add +L to suppress loading of line number informationBjörn Gustavsson
2011-06-01Fix typos in the epmd documentationHolger Weiß
2011-04-08Merge branch 'hw/epmd-bind-to-address' into devHenrik Nord
* hw/epmd-bind-to-address: Allow user to specify the IP address epmd binds to OTP-9213
2011-04-04Merge branch 'gl/erts-doterlang-docs' into devHenrik Nord
* gl/erts-doterlang-docs: Add back documentation on .erlang processing OTP-9189
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-02-25Add back documentation on .erlang processingGabor Liptak
2011-01-24Mention that "-detached" implies "-noinput"Holger Weiß
Clarify that specifying "-noinput" is unnecessary if the "-detached" flag is given.
2010-12-01Add documentation about raw filenames and Unicode file name translation modePatrik Nyblom
2010-11-22ETS 'compressed' option.Sverker Eriksson
The compressed format is using a slighty modified variant of the extern format (term_to_binary). To not worsen key lookup's too much, the top tuple itself and the key element are not compressed. Table objects with only immediate non-key elements will therefor not gain anything (but actually consume one extra word for "alloc_size").
2010-11-18Merge branch 'pg/freebsd-cpu-affinity-and-topology' into devRickard Green
* pg/freebsd-cpu-affinity-and-topology: Add support for CPU affinity & topology detection on FreeBSD 8 OTP-8939
2010-11-18Add support for CPU affinity & topology detection on FreeBSD 8Paul Guyot
2010-11-17Allow user to specify the IP address epmd binds toHolger Weiß
The IP address(es) epmd binds to can now be specified by the user, either via epmd's new "-address" option or (if that's not used) by setting the environment variable ERL_EPMD_ADDRESS. Multiple addresses may be specified using a comma-separated list. If the loopback address is not in this list, it will be added implicitly, so that the daemon can be queried by an interactive epmd process.
2010-11-02Be less eager to set dist entry in busy stateRickard Green
The runtime system is now less eager to suspend processes sending messages over the distribution. The default value of the distribution buffer busy limit has also been increased from 128 KB to 1 MB. This in order to improve throughput.
2010-11-02Add flag-based setting for the distribution buffer busy limitScott Lystig Fritchie
Id: OTP-8912 This patch creates a new family of flags with the "+z" prefix. It further creates a new configuration option called "dbbl" (which is the first letter of the name dist_buf_busy_limit). Example usage of this flag would be "+zdbbl 1048576". This patch creates an adjustable buffer limit for the amount of data that may be buffered by the erlang distribution code (in dist.c specifically). Before this patch, this hard-coded constant was used: #define ERTS_DE_BUSY_LIMIT (128*1024) When large binaries are transmitted between nodes (or simply a lot of medium-sized binaries), it is very easy to hit the old 128KB limit. Processes that use the erlang:system_monitor() BIF to monitor system events can be spammed by {monitor, busy_dist_port, ...} message tuples at rates of tens to even hundreds of messages/second. A larger buffer limit will allow processes to buffer more outgoing messages over the distribution. When the buffer limit has been reached, sending processes will be suspended until the buffer size has shrunk. The buffer limit is per distribution channel. A higher limit will give lower latency and higher throughput at the expense of higher memory usage. A variation of this patch has been in commercial production use in at least two companies that the author is aware of. Larger buffer values can reduce the number of {monitor, busy_dist_port, ...} system messages drastically, lower overall messaging latencies, and prevent false timeouts and 'nodedown' messages in extremely busy Mnesia systems. Test suite: there are two tests: a. In erlexec_SUITE.erl to test basic set & get of the value b. In distribution_SUITE.erl, to verify that setting +zdbbl very low will actually change behavior.
2010-09-04Add scheduler wakup threshold as command line argumentRickard Green
The scheduler wakeup threshold is now possible to adjust at system boot. For more information see the `+swt' command line argument of `erl'.
2010-08-30Implement automatic detection of CPU topology on WindowsRickard Green
The CPU topology is now automatically detected on Windows systems with less than 33 logical processors. The runtime system will now, also on Windows, by default bind schedulers to logical processors using the 'default_bind' bind type if the amount of schedulers is at least equal to the amount of logical processors configured, binding of schedulers is supported, and a CPU topology is available at startup.
2010-08-10Rewrite ethread libraryRickard Green
Large parts of the ethread library have been rewritten. The ethread library is an Erlang runtime system internal, portable thread library used by the runtime system itself. Most notable improvement is a reader optimized rwlock implementation which dramatically improve the performance of read-lock/read-unlock operations on multi processor systems by avoiding ping-ponging of the rwlock cache lines. The reader optimized rwlock implementation is used by miscellaneous rwlocks in the runtime system that are known to be read-locked frequently, and can be enabled on ETS tables by passing the `{read_concurrency, true}' option upon table creation. See the documentation of `ets:new/2' for more information. The ethread library can now also use the libatomic_ops library for atomic memory accesses. This makes it possible for the Erlang runtime system to utilize optimized atomic operations on more platforms than before. Use the `--with-libatomic_ops=PATH' configure command line argument when specifying where the libatomic_ops installation is located. The libatomic_ops library can be downloaded from: http://www.hpl.hp.com/research/linux/atomic_ops/ The changed API of the ethread library has also caused modifications in the Erlang runtime system. Preparations for the to come "delayed deallocation" feature has also been done since it depends on the ethread library. Note: When building for x86, the ethread library will now use instructions that first appeared on the pentium 4 processor. If you want the runtime system to be compatible with older processors (back to 486) you need to pass the `--enable-ethread-pre-pentium4-compatibility' configure command line argument when configuring the system.
2010-06-03OTP-8666 Enable automatic binding of schedulers when possibleRickard Green
The runtime system will by default bind schedulers to logical processors using the default_bind bind type if the amount of schedulers are at least equal to the amount of logical processors configured, binding of schedulers is supported, and a CPU topology is available at startup. NOTE: If the Erlang runtime system is the only operating system process that binds threads to logical processors, this improves the performance of the runtime system. However, if other operating system processes (as for example another Erlang runtime system) also bind threads to logical processors, there might be a performance penalty instead. If this is the case you, are are advised to unbind the schedulers using the <seealso marker="erl#+sbt">+sbtu</seealso> command line argument, or by invoking <seealso marker="erlang#system_flag_scheduler_bind_type">erlang:system_flag(schedule r_bind_type, unbound)</seealso>.
2010-02-17OTP-8457 Minor documentation fixes. Mainly anchor adjustments.Rickard Green
2010-02-12Merge branch 'bd/doc-fixes' into ccase/r13b04_devErlang/OTP
* bd/doc-fixes: Fix minor documentation errors
2010-02-10Fix minor documentation errorsBernard Duggan
Fix three minor typos and reorder one of a pair of lists of functions so that the ordering is consistent.
2010-02-02Add the +t emulator option to change the maximum number of atomsJulien Barbot
It is now possible to increase or decrease the maximum number of atoms the VM can handle. The default value is 1048576 (1024*1024).
2010-01-26OTP-8343 The documentation is now possible to build in an open sourceLars G Thorsen
environment after a number of bugs are fixed and some features are added in the documentation build process. - The arity calculation is updated. - The module prefix used in the function names for bif's are removed in the generated links so the links will look like http://www.erlang.org/doc/man/erlang.html#append_element-2 instead of http://www.erlang.org/doc/man/erlang.html#erlang:append_element-2 - Enhanced the menu positioning in the html documentation when a new page is loaded. - A number of corrections in the generation of man pages (thanks to Sergei Golovan) - Moved some man pages to more apropriate sections, pages in section 4 moved to 5 and pages in 6 moved to 7. - The legal notice is taken from the xml book file so OTP's build process can be used for non OTP applications.
2010-01-15Merge branch 'egil/binary-gc' into ccase/r13b04_devErlang/OTP
* egil/binary-gc: Add documentation for binary heap size settings. Add tracing capabilities for binary virtual heap Add min heap size start options to beam and erl Improve binary garbage collection OTP-8370 The default settings for garbage collection of binaries has been adjusted to be less aggressive than in R13B03. It is now also possible configure the settings for binary GC. See the documentation for spawn_opt/2-5, erlang:system_info/1, erlang:system_flag/2, process_flag/2-3, erlang:trace/3, and the documenation for erl for the new command line options +hms and +hmbs.
2010-01-13Add documentation for binary heap size settings.Björn-Egil Dahlberg
Documentation of min_heap_size and min_bin_vheap size for: * spawn_opt/2, spawn_opt/3, spawn_opt/4, spawn_opt/5 * erlang:system_flag/2 * erlang:system_info/1 * process_flag/2 * process_info/2 * erlang:trace/3 Documentation for the new beam start arguments: +hms Size, Default minimum heap size for processes. +hmbs Size, Default minimum binary virtual heap size.
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP