From e5875001247e6a6ac4f474157a51a8c54f94ae49 Mon Sep 17 00:00:00 2001
From: Hans Bolinder
Date: Thu, 14 Mar 2013 16:01:25 +0100
Subject: Convert XML files to UTF-8
---
erts/doc/src/erl.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index a68e62d051..814b904de3 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -1,4 +1,4 @@
-
+
--
cgit v1.2.3
From 69e01c0f5d332d34b95575203ae9d7829b9a45fa Mon Sep 17 00:00:00 2001
From: Steve Vinoski
Date: Tue, 20 Aug 2013 21:09:47 -0400
Subject: add erl option to set schedulers by percentages
For applications where measurements show enhanced performance from the use
of a non-default number of emulator scheduler threads, having to accurately
set the right number of scheduler threads across multiple hosts each with
different numbers of logical processors is difficult because the erl +S
option requires absolute numbers of scheduler threads and scheduler threads
online to be specified.
To address this issue, add a +SP option to erl, similar to the existing +S
option but allowing the number of scheduler threads and scheduler threads
online to be set as percentages of logical processors configured and
logical processors available, respectively. For example, "+SP 50:25" sets
the number of scheduler threads to 50% of the logical processors
configured, and the number of scheduler threads online to 25% of the
logical processors available. The +SP option also interacts with any
settings specified with the +S option, such that the combination of options
"+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2
scheduler threads online.
Add documentation for the +SP option.
Add tests for the +SP option to scheduler_SUITE.
Add tests and documentation for two existing features of the +S option: +S
0:0 resets the scheduler thread count and scheduler threads online count to
their defaults, and specifying negative numbers for +S results in those
values being subtracted from the default values for the host.
---
erts/doc/src/erl.xml | 50 +++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 39 insertions(+), 11 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 70569b1c6c..c16b45856d 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -748,19 +748,47 @@
-
Sets the amount of scheduler threads to create and scheduler
- threads to set online when SMP support has been enabled.
- Valid range for both values are 1-1024. If the
- Erlang runtime system is able to determine the amount
- of logical processors configured and logical processors available,
- Schedulers will default to logical processors configured,
- and SchedulersOnline will default to logical processors
- available; otherwise, the default values will be 1. Schedulers
- may be omitted if :SchedulerOnline is not and vice versa. The
- amount of schedulers online can be changed at run time via
+
Sets the number of scheduler threads to create and scheduler
+ threads to set online when SMP support has been enabled. The maximum for
+ both values is 1024. If the Erlang runtime system is able to determine the
+ amount of logical processors configured and logical processors available,
+ Schedulers will default to logical processors configured, and
+ SchedulersOnline will default to logical processors available;
+ otherwise, the default values will be 1. Schedulers may be omitted
+ if :SchedulerOnline is not and vice versa. The number of schedulers
+ online can be changed at run time via
erlang:system_flag(schedulers_online, SchedulersOnline).
-
This flag will be ignored if the emulator doesn't have
+
If Schedulers or SchedulersOnline is specified as a
+ negative number, the value is subtracted from the default number of
+ logical processors configured or logical processors available, respectively.
+
+
Specifying the value 0 for Schedulers or SchedulersOnline
+ resets the number of scheduler threads or scheduler threads online respectively
+ to its default value.
+
+
This option is ignored if the emulator doesn't have
+ SMP support enabled (see the -smp
+ flag).
+
+
+
+
Similar to +S but uses percentages to set the
+ number of scheduler threads to create, based on logical processors configured,
+ and scheduler threads to set online, based on logical processors available, when
+ SMP support has been enabled. Specified values must be greater than 0. For example,
+ +SP 50:25 sets the number of scheduler threads to 50% of the logical processors
+ configured and the number of scheduler threads online to 25% of the logical processors available.
+ SchedulersPercentage may be omitted if :SchedulersOnlinePercentage is
+ not and vice versa. The number of schedulers online can be changed at run time via
+ erlang:system_flag(schedulers_online, SchedulersOnline).
+
+
This option interacts with +S settings.
+ For example, on a system with 8 logical cores configured and 8 logical cores
+ available, the combination of the options +S 4:4 +SP 50:25 (in either order)
+ results in 2 scheduler threads (50% of 4) and 1 scheduler thread online (25% of 4).
+
+
This option is ignored if the emulator doesn't have
SMP support enabled (see the -smp
flag).
--
cgit v1.2.3
From 75a79e6547fd66c2194d6f488c30ad888a715f4b Mon Sep 17 00:00:00 2001
From: Steve Vinoski
Date: Wed, 4 Sep 2013 10:21:47 -0400
Subject: add system_info(ets_limit)
Add system_info(ets_limit) to provide a way to retrieve the runtime's
maximum number of ETS tables. Add tests and documentation for it too.
Also repair the alphabetical order of system_info/1 argument descriptions
in the documentation and in the erlang.erl clauses. Add new preloaded
erlang.erl due to that change. Also ensure all system_info/1 clauses are
represented in the erlang.xml source documentation -- a couple had been
inadvertently dropped in previous commits when other clauses were added.
---
erts/doc/src/erl.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index c16b45856d..528a2d95aa 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -524,7 +524,7 @@
Calling erlang:halt/1 with a string argument will still
produce a crash dump.
-
+
Set max number of ETS tables.
--
cgit v1.2.3
From f265dc315485734adda7e7a8a88f6b4c02211477 Mon Sep 17 00:00:00 2001
From: "Brian L. Troutwine"
Date: Mon, 9 Dec 2013 09:31:38 -0800
Subject: Clean up some awkward wording around the +spp flag.
This issue was pointed out by lpgauth in #erlounge. While the intention is
clear, the original wording was a bit dodgy. I'm no grammarian--though I am a
native speaker--so it's quite possible the new wording I've introduced is not
impeachable. Should be idiomatic, though.
Signed-off-by: Brian L. Troutwine
---
erts/doc/src/erl.xml | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index bf0d132955..34c9d8ea61 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -1126,18 +1126,18 @@
+spp Bool
Set default scheduler hint for port parallelism. If set to
- true, the VM will schedule port tasks when it by this can
- improve the parallelism in the system. If set to false,
- the VM will try to perform port tasks immediately and by this
- improve latency at the expense of parallelism. If this
- flag has not been passed, the default scheduler hint for port
- parallelism is currently false. The default used can be
- inspected in runtime by calling
- erlang:system_info(port_parallelism).
+ true, the VM will schedule port tasks when doing so will
+ improve parallelism in the system. If set to false, the VM
+ will try to perform port tasks immediately, improving latency at the
+ expense of parallelism. If this flag has not been passed, the
+ default scheduler hint for port parallelism is currently
+ false. The default used can be inspected in runtime by
+ calling erlang:system_info(port_parallelism).
The default can be overriden on port creation by passing the
parallelism
- option to
- open_port/2
.
+ option to open_port/2
.
--
cgit v1.2.3
From e7ea832a4a3a8ba2f94ce02a47ca34b60277cb0a Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Thu, 16 Jan 2014 23:41:47 +0100
Subject: Add support for scheduler utilization balancing
For more information see documentation of the new command line argument +sub
---
erts/doc/src/erl.xml | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index bf0d132955..2aa247e293 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -941,6 +941,10 @@
when schedulers frequently run out of work. When disabled,
the frequency with which schedulers run out of work will
not be taken into account by the load balancing logic.
+ +scl false is similar to
+ +sub true with the difference
+ that +sub true also will balance scheduler utilization
+ between schedulers.
+sct CpuTopology
@@ -1087,6 +1091,29 @@
documentation of the +sbt flag.
+ +sub true|false
+
+
Enable or disable
+ scheduler
+ utilization balancing of load. By default scheduler
+ utilization balancing is disabled and instead scheduler
+ compaction of load is enabled which will strive for a load
+ distribution which causes as many scheduler threads as possible
+ to be fully loaded (i.e., not run out of work). When scheduler
+ utilization balancing is enabled the system will instead try to
+ balance scheduler utilization between schedulers. That is,
+ strive for equal scheduler utilization on all schedulers.
+ +sub true is only supported on
+ systems where the runtime system detects and use a monotonically
+ increasing high resolution clock. On other systems, the runtime
+ system will fail to start.
+ +sub true implies
+ +scl false. The difference
+ between +sub true and +scl false is that
+ +scl false will not try to balance the scheduler
+ utilization.
+
+ +sws very_eager|eager|medium|lazy|very_lazy
--
cgit v1.2.3
From c1c03ae4ee50e58b7669ea88ec4d29c6b2b67c7b Mon Sep 17 00:00:00 2001
From: Steve Vinoski
Date: Thu, 9 Jan 2014 21:22:45 -0500
Subject: initial support for dirty schedulers and dirty NIFs
Add initial support for dirty schedulers.
There are two types of dirty schedulers: CPU schedulers and I/O
schedulers. By default, there are as many dirty CPU schedulers as there are
normal schedulers and as many dirty CPU schedulers online as normal
schedulers online. There are 10 dirty I/O schedulers (similar to the choice
of 10 as the default for async threads).
By default, dirty schedulers are disabled and conditionally compiled
out. To enable them, you must pass --enable-dirty-schedulers to the
top-level configure script when building Erlang/OTP.
Current dirty scheduler support requires the emulator to be built with SMP
support. This restriction will be lifted in the future.
You can specify the number of dirty schedulers with the command-line
options +SDcpu (for dirty CPU schedulers) and +SDio (for dirty I/O
schedulers). The +SDcpu option is similar to the +S option in that it takes
two numbers separated by a colon: C1:C2, where C1 specifies the number of
dirty schedulers available and C2 specifies the number of dirty schedulers
online. The +SDPcpu option allows numbers of dirty CPU schedulers available
and dirty CPU schedulers online to be specified as percentages, similar to
the existing +SP option for normal schedulers. The number of dirty CPU
schedulers created and dirty CPU schedulers online may not exceed the
number of normal schedulers created and normal schedulers online,
respectively. The +SDio option takes only a single number specifying the
number of dirty I/O schedulers available and online. There is no support
yet for programmatically changing at run time the number of dirty CPU
schedulers online via erlang:system_flag/2. Also, changing the number of
normal schedulers online via erlang:system_flag(schedulers_online,
NewSchedulersOnline) should ensure that there are no more dirty CPU
schedulers than normal schedulers, but this is not yet implemented. You can
retrieve the number of dirty schedulers by passing dirty_cpu_schedulers,
dirty_cpu_schedulers_online, or dirty_io_schedulers to
erlang:system_info/1.
Currently only NIFs are able to access dirty scheduler
functionality. Neither drivers nor BIFs currently support dirty
schedulers. This restriction will be addressed in the future.
If dirty scheduler support is present in the runtime, the initial status
line Erlang prints before presenting its interactive prompt will include
the indicator "[ds:C1:C2:I]" where "ds" indicates "dirty schedulers", "C1"
indicates the number of dirty CPU schedulers available, "C2" indicates the
number of dirty CPU schedulers online, and "I" indicates the number of
dirty I/O schedulers.
Document The dirty NIF API in the erl_nif man page. The API closely follows
Rickard Green's presentation slides from his talk "Future Extensions to the
Native Interface", presented at the 2011 Erlang Factory held in the San
Francisco Bay Area. Rickard's slides are available online at
http://bit.ly/1m34UHB .
Document the new erl command-line options, the additions to
erlang:system_info/1, and also add the erlang:system_flag/2 dirty scheduler
documentation even though it's not yet implemented.
To determine whether the dirty NIF API is available, native code can check
to see whether the C preprocessor macro ERL_NIF_DIRTY_SCHEDULER_SUPPORT is
defined. To check if dirty schedulers are available at run time, native
code can call the boolean enif_have_dirty_schedulers() function, and Erlang
code can call erlang:system_info(dirty_cpu_schedulers), which raises
badarg if no dirty scheduler support is available.
Add a simple dirty NIF test to the emulator NIF suite.
---
erts/doc/src/erl.xml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index e737727941..27a23174d5 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -792,6 +792,54 @@
SMP support enabled (see the -smp
flag).
+
+
+
Sets the number of dirty CPU scheduler threads to create and dirty
+ CPU scheduler threads to set online when threading support has been
+ enabled. The maximum for both values is 1024, and each value is further
+ limited by the settings for normal schedulers: the number of dirty CPU
+ scheduler threads created cannot exceed the number of normal scheduler
+ threads created, and the number of dirty CPU scheduler threads online
+ cannot exceed the number of normal scheduler threads online (see the
+ +S and +SP
+ flags for more details). By default, the number of dirty CPU scheduler
+ threads created equals the number of normal scheduler threads created,
+ and the number of dirty CPU scheduler threads online equals the number
+ of normal scheduler threads online. DirtyCPUSchedulers may be
+ omitted if :DirtyCPUSchedulersOnline is not and vice versa. The
+ number of dirty CPU schedulers online can be changed at run time via
+ erlang:system_flag(dirty_cpu_schedulers_online, DirtyCPUSchedulersOnline).
+
+
This option is ignored if the emulator doesn't have threading support
+ enabled. Currently, this option is experimental and is supported only
+ if the emulator was configured and built with support for dirty schedulers
+ enabled (it's disabled by default).
+
+
+
+
+
Similar to +SDcpu but uses percentages to set the
+ number of dirty CPU scheduler threads to create and number of dirty CPU scheduler threads
+ to set online when threading support has been enabled. Specified values must be greater
+ than 0. For example, +SDPcpu 50:25 sets the number of dirty CPU scheduler threads
+ to 50% of the logical processors configured and the number of dirty CPU scheduler threads
+ online to 25% of the logical processors available. DirtyCPUSchedulersPercentage may
+ be omitted if :DirtyCPUSchedulersOnlinePercentage is not and vice versa. The
+ number of dirty CPU schedulers online can be changed at run time via
+ erlang:system_flag(dirty_cpu_schedulers_online, DirtyCPUSchedulersOnline).
+
+
This option interacts with +SDcpu settings.
+ For example, on a system with 8 logical cores configured and 8 logical cores available,
+ the combination of the options +SDcpu 4:4 +SDPcpu 50:25 (in either order) results
+ in 2 dirty CPU scheduler threads (50% of 4) and 1 dirty CPU scheduler thread online (25% of 4).
+
+
This option is ignored if the emulator doesn't have threading support
+ enabled. Currently, this option is experimental and is supported only
+ if the emulator was configured and built with support for dirty schedulers
+ enabled (it's disabled by default).
+
+
+
Scheduling specific flags.
--
cgit v1.2.3
From 0cc9753f7f873bbcf8a528e05ab0adbd5c8fc79c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?=
Date: Mon, 27 Jan 2014 13:10:54 +0100
Subject: Change the default file name encoding mode to +fnaw
---
erts/doc/src/erl.xml | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index e737727941..6428a24209 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -535,12 +535,15 @@
-
The VM works with file names as if they are encoded using the ISO-latin-1 encoding, disallowing Unicode characters with codepoints beyond 255. This is default on operating systems that have transparent file naming, i.e. all Unixes except MacOSX.
+
The VM works with file names as if they are encoded using the ISO-latin-1 encoding, disallowing Unicode characters with codepoints beyond 255.
See STDLIB User's Guide for more infomation about unicode file names.
-
The VM works with file names as if they are encoded using UTF-8 (or some other system specific Unicode encoding). This is the default on operating systems that enforce Unicode encoding, i.e. Windows and MacOSX.
+
The VM works with file names as if they are encoded using
+ UTF-8 (or some other system specific Unicode encoding). This
+ is the default on operating systems that enforce Unicode
+ encoding, i.e. Windows and MacOS X.
The +fnu switch can be followed by w,
i, or e to control the way wrongly encoded file
names are to be reported. w means that a warning is
@@ -556,7 +559,12 @@
-
Selection between +fnl and +fnu is done based on the current locale settings in the OS, meaning that if you have set your terminal for UTF-8 encoding, the filesystem is expected to use the same encoding for file names (use with care).
+
Selection between +fnl and +fnu is done based
+ on the current locale settings in the OS, meaning that if you
+ have set your terminal for UTF-8 encoding, the filesystem is
+ expected to use the same encoding for file names. This is
+ default on all operating systems except MacOS X and
+ Windows.
The +fna switch can be followed by w,
i, or e. This will have effect if the locale
settings cause the behavior of +fnu to be selected.
--
cgit v1.2.3
From a9fd7c1ffbb2b3509821b6655f460e27f70c2892 Mon Sep 17 00:00:00 2001
From: Vlad Dumitrescu
Date: Fri, 21 Mar 2014 21:24:28 +0100
Subject: Specify that +fn* flags affect even command-line parameters and
environment variables
---
erts/doc/src/erl.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 4aa3033f40..9724a1345a 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -536,7 +536,7 @@
The VM works with file names as if they are encoded using the ISO-latin-1 encoding, disallowing Unicode characters with codepoints beyond 255.
-
See STDLIB User's Guide for more infomation about unicode file names.
+
See STDLIB User's Guide for more infomation about unicode file names. Note that this value also applies to command-line parameters and environment variables (see STDLIB User's Guide).
@@ -555,7 +555,7 @@
encountered. w is the default. Note that
file:read_link/1 will always return an error if the
link points to an invalid file name.
-
See STDLIB User's Guide for more infomation about unicode file names.
+
See STDLIB User's Guide for more infomation about unicode file names. Note that this value also applies to command-line parameters and environment variables (see STDLIB User's Guide).
@@ -572,7 +572,7 @@
settings cause the behavior of +fnl to be selected,
then w, i, or e will not have any
effect.
-
See STDLIB User's Guide for more infomation about unicode file names.
+
See STDLIB User's Guide for more infomation about unicode file names. Note that this value also applies to command-line parameters and environment variables (see STDLIB User's Guide).
--
cgit v1.2.3
From e492b43c3e4366e865e5f1c34d0834df2a91d490 Mon Sep 17 00:00:00 2001
From: Eiichi Tsukata
Date: Wed, 23 Apr 2014 21:46:21 +0900
Subject: Add erlang:system_info(tolerant_timeofday)
Add erlang:system_info(tolerant_timeofday), an API to check whether
compensation for sudden changes of system time is enabled or not.
---
erts/doc/src/erl.xml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 9724a1345a..f8f4d14436 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -495,7 +495,7 @@
, not (). Note also that
is used instead of on Windows.
-
+
Disable compensation for sudden changes of system time.
Normally, will not immediately reflect
@@ -510,6 +510,9 @@
reflect the current system time. Note that timers are based
on . If the system time jumps, timers
then time out at the wrong time.
+
NOTE: You can check whether the adjustment is enabled or
+ disabled by calling
+ erlang:system_info(tolerant_timeofday).
--
cgit v1.2.3
From 864ebdc6264d134b1face2cd6b400b992b31e6e5 Mon Sep 17 00:00:00 2001
From: Steve Vinoski
Date: Sat, 21 Jun 2014 17:22:34 -0400
Subject: add missing description for erl +SDio option
Add explanatory text for the erl +SDio option, which is used to set the
number of dirty I/O schedulers.
---
erts/doc/src/erl.xml | 13 +++++++++++++
1 file changed, 13 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 9724a1345a..1a4a955d8b 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -848,6 +848,19 @@
+
+
Sets the number of dirty I/O scheduler threads to create when threading
+ support has been enabled. The valid range is 0-1024. By default, the number
+ of dirty I/O scheduler threads created is 10, same as the default number of
+ threads in the async thread pool
+ .
+
+
This option is ignored if the emulator doesn't have threading support
+ enabled. Currently, this option is experimental and is supported only
+ if the emulator was configured and built with support for dirty schedulers
+ enabled (it's disabled by default).
+
Set scheduler wake cleanup threshold. Default is medium.
--
cgit v1.2.3
From 6084a42a24fca52a5de2bc487c0cd2be46dcc21f Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Tue, 26 Aug 2014 17:26:31 +0200
Subject: Introduce support for eager check I/O scheduling
---
erts/doc/src/erl.xml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 528a2d95aa..967226056e 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -1065,6 +1065,23 @@
For more information, see
erlang:system_info(cpu_topology).
+ +secio true|false
+
+
Enable or disable eager check I/O scheduling. The default
+ is currently false, but will most likely be changed
+ to true in OTP 18. The behaviour before this flag
+ was introduced corresponds to +secio false.
+
The flag effects when schedulers will check for I/O
+ operations possible to execute, and when such I/O operations
+ will execute. As the name of the parameter implies,
+ schedulers will be more eager to check for I/O when
+ true is passed. This however also implies that
+ execution of outstanding I/O operation will not be
+ prioritized to the same extent as when false is
+ passed.
+
erlang:system_info(eager_check_io)
+ returns the value of this parameter used when starting the VM.
+ +sfwi Interval
Set scheduler forced wakeup interval. All run queues will
--
cgit v1.2.3
From cb604704efd28fafd0f8edce03db00f7fef53909 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Tue, 23 Sep 2014 18:06:44 +0200
Subject: Change default to "eager check I/O"
Conflicts:
erts/emulator/beam/erl_process.c
---
erts/doc/src/erl.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 141754e4f9..f3ada61f3e 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -1144,9 +1144,9 @@
+secio true|false
Enable or disable eager check I/O scheduling. The default
- is currently false, but will most likely be changed
- to true in OTP 18. The behaviour before this flag
- was introduced corresponds to +secio false.
+ is currently true. The default was changed from false
+ to true as of erts version 7.0. The behaviour before this
+ flag was introduced corresponds to +secio false.
The flag effects when schedulers will check for I/O
operations possible to execute, and when such I/O operations
will execute. As the name of the parameter implies,
--
cgit v1.2.3
From 0aa4dc4f66815aa4b40e8b3b2d8b9a24c180debe Mon Sep 17 00:00:00 2001
From: Steve Vinoski
Date: Fri, 17 Oct 2014 17:21:37 -0400
Subject: Clarify the use of SIGUSR1 for forcing crash dumps
The crash_dump document mentions indirectly that delivering a SIGUSR1 to a
running emulator process can force it to crash dump. Clarify that text to
make it clear SIGUSR1 can be used for that purpose, and also add a similar
note about using SIGUSR1 to the erl documentation.
---
erts/doc/src/erl.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index f856b9ab86..e85519185f 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -525,7 +525,8 @@
core dump and no crash dump if an internal error is detected.
Calling erlang:halt/1 with a string argument will still
- produce a crash dump.
+ produce a crash dump. On Unix systems, sending an emulator process
+ a SIGUSR1 signal will also force a crash dump.
--
cgit v1.2.3
From 93f0ff928b89dce4e62e4017065d87fcc5cf4cf8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?=
Date: Wed, 4 Mar 2015 17:28:37 +0100
Subject: erts: Document option 'hpds'
---
erts/doc/src/erl.xml | 5 +++++
1 file changed, 5 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index d11f6b0c6d..f08467bfc6 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -588,6 +588,11 @@
Sets the default binary virtual heap size of processes to the size
.
+
+
+
Sets the initial process dictionary size of processes to the size
+ .
+
Enables or disables the kernel poll functionality if
--
cgit v1.2.3
From 6487aac5977cf470bc6a2cd0964da2850ee38717 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Thu, 30 Oct 2014 23:57:01 +0100
Subject: Introduce a new time API
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.
---
erts/doc/src/erl.xml | 47 +++++++++++++++++++++++++++++------------------
1 file changed, 29 insertions(+), 18 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index d11f6b0c6d..19a8e1f789 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -495,24 +495,35 @@
, not (). Note also that
is used instead of on Windows.
-
-
-
Disable compensation for sudden changes of system time.
-
Normally, will not immediately reflect
- sudden changes in the system time, in order to keep timers
- (including ) working. Instead, the time
- maintained by is slowly adjusted towards
- the new system time. (Slowly means in one percent adjustments;
- if the time is off by one minute, the time will be adjusted
- in 100 minutes.)
-
When the option is given, this slow adjustment
- will not take place. Instead will always
- reflect the current system time. Note that timers are based
- on . If the system time jumps, timers
- then time out at the wrong time.
-
NOTE: You can check whether the adjustment is enabled or
- disabled by calling
- erlang:system_info(tolerant_timeofday).
+
+
+
Enable or disable
+ time correction:
+
+ true
+
Enable time correction. This is the default if
+ time correction is supported on the specific platform.
+
+ false
+
Disable time correction.
+
+
For backwards compatibility, the boolean value can be omitted.
+ This is interpreted as +c false.
+
+
+
+
+
Set
+ time warp mode:
+
+
+ no_time_warp
+
No Time Warp Mode (the default)
+ single_time_warp
+
Single Time Warp Mode
+ multi_time_warp
+
Multi Time Warp Mode
+
--
cgit v1.2.3
From 441842ce023bf8ef5dc84f2d5061b0b7c79c8130 Mon Sep 17 00:00:00 2001
From: Richard Carlsson
Date: Fri, 17 Apr 2015 22:04:31 +0200
Subject: Map error logger warnings to warning messages by default
Also fix and document the broken +We option.
---
erts/doc/src/erl.xml | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index ea94a4e82b..98d05dc7de 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -1322,13 +1322,14 @@
Verbose.
-
+
Sets the mapping of warning messages for .
Messages sent to the error logger using one of the warning
- routines can be mapped either to errors (default), warnings
- (), or info reports (). The current
- mapping can be retrieved using
+ routines can be mapped either to errors (),
+ warnings (), or info reports
+ (). The default is warnings.
+ The current mapping can be retrieved using
. See
error_logger(3)
for further information.
--
cgit v1.2.3
From fe1c0d26d4e6180b79fc8497b827ac2ef1f471d5 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Fri, 5 Jun 2015 17:25:22 +0200
Subject: Delayed node table GC
---
erts/doc/src/erl.xml | 12 ++++++++++++
1 file changed, 12 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index ea94a4e82b..00da503469 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -1350,6 +1350,18 @@
give lower latency and higher throughput at the expense
of higher memory usage.
+ +zdntgc time
+
+
Set the delayed node table garbage collection time
+ (delayed_node_table_gc)
+ in seconds. Valid values are either infinity or
+ an integer in the range [0-100000000]. Default is 60.
+
Node table entries that are not referred will linger
+ in the table for at least the amount of time that this
+ parameter determines. The lingering prevents repeated
+ deletions and insertions in the tables from occurring.
+
+
--
cgit v1.2.3
From 738c34d4bb8f1a3811acd00af8c6c12107f8315b Mon Sep 17 00:00:00 2001
From: Bruce Yinhe
Date: Thu, 18 Jun 2015 11:31:02 +0200
Subject: Change license text to APLv2
---
erts/doc/src/erl.xml | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index f41b6e6149..b0322b7d43 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -8,16 +8,17 @@
Ericsson AB. All Rights Reserved.
- The contents of this file are subject to the Erlang Public License,
- Version 1.1, (the "License"); you may not use this file except in
- compliance with the License. You should have received a copy of the
- Erlang Public License along with this software. If not, it can be
- retrieved online at http://www.erlang.org/.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- the License for the specific language governing rights and limitations
- under the License.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
--
cgit v1.2.3
From 5ae78de4e4f6e220e29ad2f54b95a0098da4b365 Mon Sep 17 00:00:00 2001
From: Hans Bolinder
Date: Mon, 12 Oct 2015 12:12:27 +0200
Subject: [erts] Correct documentation
Fix mistakes found by 'xmllint'.
---
erts/doc/src/erl.xml | 83 ++++++++++++++++++++++++++--------------------------
1 file changed, 41 insertions(+), 42 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index b0322b7d43..63ab2532ab 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -4,7 +4,7 @@
- 19962013
+ 19962015Ericsson AB. All Rights Reserved.
@@ -138,7 +138,7 @@
see app(4) and
application(3).
-
+
Command line arguments are read from the file .
The arguments read from the file replace the
@@ -203,7 +203,7 @@
app(4) and
application(3).
-
+
If this flag is present, will not maintain a
fully connected network of distributed Erlang nodes, and then
@@ -288,7 +288,7 @@
Makes write some debug information while
interpreting the boot script.
- (emulator flag)
+ (emulator flag)
Selects an instrumented Erlang runtime system (virtual
machine) to run, instead of the ordinary one. When running an
@@ -436,7 +436,7 @@
flag and those running with the flag, as node
names must be unique in distributed Erlang systems.
-
+
-smp enable and -smp starts the Erlang runtime
system with SMP support enabled. This may fail if no runtime
@@ -462,7 +462,7 @@
invokes the code for the Erlang emulator (virtual
machine), which supports the following flags:
-
+
Suggested stack size, in kilowords, for threads in the
async-thread pool. Valid range is 16-8192 kilowords. The
@@ -477,7 +477,7 @@
suggestion, and it might even be ignored on some
platforms.
-
+
Sets the number of threads in async thread pool, valid range
is 0-1024. If thread support is available, the default is 10.
@@ -496,7 +496,7 @@
, not (). Note also that
is used instead of on Windows.
-
+
Enable or disable
time correction:
@@ -512,7 +512,7 @@
This is interpreted as +c false.
-
+
Set
time warp mode:
@@ -540,7 +540,7 @@
produce a crash dump. On Unix systems, sending an emulator process
a SIGUSR1 signal will also force a crash dump.
-
+
Set max number of ETS tables.
@@ -625,7 +625,7 @@
information about the file names and line numbers.
-
+
Memory allocator specific flags, see
erts_alloc(3) for
@@ -664,10 +664,10 @@
debugging.
-
+
Sets the range of characters that the system will consider printable in heuristic detection of strings. This typically affects the shell, debugger and io:format functions (when ~tp is used in the format string).
-
Currently two values for the Range are supported:
+
Currently two values for the Range are supported:
latin1The default. Only characters
in the ISO-latin-1 range can be considered printable, which means
@@ -682,11 +682,10 @@
example your font does not cover all Unicode
characters.
-
Se also
io:printable_range/0.
-
+
Sets the maximum number of simultaneously existing processes for this
system if a Number is passed as value. Valid range for
@@ -706,7 +705,7 @@
circumstances be extremely expensive. The legacy algoritm is deprecated,
and the legacy option is scheduled for removal in OTP-R18.
-
+
Sets the maximum number of simultaneously existing ports for this
system if a Number is passed as value. Valid range for Number
@@ -737,7 +736,7 @@
circumstances be extremely expensive. The legacy algoritm is deprecated,
and the legacy option is scheduled for removal in OTP-R18.
-
+
Sets the compatibility mode.
The distribution mechanism is not backwards compatible by
@@ -757,7 +756,7 @@
Force ets memory block to be moved on realloc.
-
+
Limits the amount of reader groups used by read/write locks
optimized for read operations in the Erlang runtime system. By
@@ -775,7 +774,7 @@
schedulers to logical processors, since the reader groups
are distributed better between schedulers.
-
+
Sets the number of scheduler threads to create and scheduler
threads to set online when SMP support has been enabled. The maximum for
@@ -800,7 +799,7 @@
SMP support enabled (see the -smp
flag).
-
+
Similar to +S but uses percentages to set the
number of scheduler threads to create, based on logical processors configured,
@@ -821,7 +820,7 @@
SMP support enabled (see the -smp
flag).
-
+
Sets the number of dirty CPU scheduler threads to create and dirty
CPU scheduler threads to set online when threading support has been
@@ -845,7 +844,7 @@
enabled (it's disabled by default).
-
+
Similar to +SDcpu but uses percentages to set the
number of dirty CPU scheduler threads to create and number of dirty CPU scheduler threads
@@ -868,7 +867,7 @@
enabled (it's disabled by default).
-
+
Sets the number of dirty I/O scheduler threads to create when threading
support has been enabled. The valid range is 0-1024. By default, the number
@@ -886,7 +885,7 @@
Scheduling specific flags.
- +sbt BindType
+ +sbt BindType
Set scheduler bind type.
Schedulers can also be bound using the
@@ -1010,7 +1009,7 @@
erlang:system_info(scheduler_bindings).
Set scheduler busy wait threshold. Default is medium.
The threshold determines how long schedulers should busy
@@ -1020,7 +1019,7 @@
without prior notice.
- +scl true|false
+ +scl true|false
Enable or disable scheduler compaction of load. By default
scheduler compaction of load is enabled. When enabled, load
@@ -1037,7 +1036,7 @@
between schedulers.
For more information, see
erlang:system_info(cpu_topology).
- +secio true|false
+ +secio true|false
Enable or disable eager check I/O scheduling. The default
is currently true. The default was changed from false
@@ -1176,7 +1175,7 @@
erlang:system_info(eager_check_io)
returns the value of this parameter used when starting the VM.
- +sfwi Interval
+ +sfwi Interval
Set scheduler forced wakeup interval. All run queues will
be scanned each Interval milliseconds. While there are
@@ -1190,7 +1189,7 @@
the +sfwi flag will be removed.
- +stbt BindType
+ +stbt BindType
Try to set scheduler bind type. The same as the
+sbt flag with the exception of
@@ -1198,7 +1197,7 @@
documentation of the +sbt flag.
- +sub true|false
+ +sub true|false
Enable or disable
scheduler
@@ -1221,7 +1220,7 @@
utilization.
Set scheduler wake cleanup threshold. Default is medium.
@@ -1235,7 +1234,7 @@
NOTE: This flag may be removed or changed at any time without prior notice.
- +sws default|legacy
+ +sws default|legacy
Set scheduler wakeup strategy. Default strategy changed in erts-5.10/OTP-R16A. This strategy was previously known as proposal in OTP-R15. The legacy strategy was used as default from R13 up to and including R15.
@@ -1243,7 +1242,7 @@
NOTE: This flag may be removed or changed at any time without prior notice.
Set scheduler wakeup threshold. Default is medium.
The threshold determines when to wake up sleeping schedulers
@@ -1257,7 +1256,7 @@
without prior notice.
- +spp Bool
+ +spp Bool
Set default scheduler hint for port parallelism. If set to
true, the VM will schedule port tasks when doing so will
@@ -1273,7 +1272,7 @@
option to open_port/2
.
-
+
Suggested stack size, in kilowords, for scheduler threads.
Valid range is 4-8192 kilowords. The default stack size
@@ -1281,11 +1280,11 @@
-
+
Set the maximum number of atoms the VM can handle. Default is 1048576.
-
+
Enables modified timing and sets the modified timing level.
Currently valid range is 0-9. The timing of the runtime system
@@ -1339,7 +1338,7 @@
Miscellaneous flags.
- +zdbbl size
+ +zdbbl size
Set the distribution buffer busy limit
(dist_buf_busy_limit)
@@ -1352,7 +1351,7 @@
give lower latency and higher throughput at the expense
of higher memory usage.
- +zdntgc time
+ +zdntgc time
Set the delayed node table garbage collection time
(delayed_node_table_gc)
@@ -1426,7 +1425,7 @@
-
+
The content of this environment variable will be added to the
beginning of the command line for .
@@ -1436,7 +1435,7 @@
the section, i.e. the end of the command line
following after an flag.
- and
+ and
The content of these environment variables will be added to the
end of the command line for .
--
cgit v1.2.3
From dc6d89bc1c08e15f8d4cd32f2e0886713cdc2dc2 Mon Sep 17 00:00:00 2001
From: Derek Brown
Date: Wed, 4 Nov 2015 16:05:33 +0100
Subject: Fix typos and grammar
---
erts/doc/src/erl.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 63ab2532ab..ec4a0dee05 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -371,7 +371,7 @@
path, similar to . See
code(3).
As an alternative to -pa, if several directories are
- to be prepended to the code and the directories have a
+ to be prepended to the code path and the directories have a
common parent directory, that parent directory could be
specified in the ERL_LIBS environment variable.
See code(3).
@@ -1184,7 +1184,7 @@
disables this feature, which also is the default.
This feature has been introduced as a temporary workaround
- for lengthy executing native code, and native code that do not
+ for long-executing native code, and native code that does not
bump reductions properly in OTP. When these bugs have be fixed
the +sfwi flag will be removed.
@@ -1210,7 +1210,7 @@
balance scheduler utilization between schedulers. That is,
strive for equal scheduler utilization on all schedulers.
+sub true is only supported on
- systems where the runtime system detects and use a monotonically
+ systems where the runtime system detects and uses a monotonically
increasing high resolution clock. On other systems, the runtime
system will fail to start.
+sub true implies
--
cgit v1.2.3
From 3ac08f9b668613a4292436979eacc61863c2ab94 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Wed, 16 Sep 2015 15:02:50 +0200
Subject: Fragmented young heap generation and off_heap_message_queue option
* 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.
---
erts/doc/src/erl.xml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index b0322b7d43..8c1be4dff5 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -1335,6 +1335,21 @@
error_logger(3)
for further information.
+
+
+
Default process flag settings.
+
+ +xohmq true|false
+
+ Sets the default value for the process flag
+ off_heap_message_queue. If +xohmq is not
+ passed, false will be the default. For more information,
+ see the documentation of
+ process_flag(off_heap_message_queue,
+ OHMQ).
+
+
+
Miscellaneous flags.
--
cgit v1.2.3
From 19c4689eea86f26c5af9b8f712c227ce4f62310b Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Tue, 24 Nov 2015 15:57:55 +0100
Subject: Replace off_heap_message_queue option with message_queue_data option
The message_queue_data option can have the values
- off_heap
- on_heap
- mixed
---
erts/doc/src/erl.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index c4eb0e16ec..b6fa4c254c 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -1338,14 +1338,14 @@
Sets the default value for the process flag
- off_heap_message_queue. If +xohmq is not
- passed, false will be the default. For more information,
+ message_queue_data. If +xmqd is not
+ passed, mixed will be the default. For more information,
see the documentation of
- process_flag(off_heap_message_queue,
- OHMQ).
+ process_flag(message_queue_data,
+ MQD).
--
cgit v1.2.3
From f5c9dd660f3f098ba1e2a4110be594013a6dff11 Mon Sep 17 00:00:00 2001
From: Siri Hansen
Date: Thu, 14 Jan 2016 12:07:39 +0100
Subject: Add documentation of '-path' flag to 'erl'
This flag replaces the path specified in the boot script. It has
always existed, but was earlier only documented in SASL (script).
---
erts/doc/src/erl.xml | 5 +++++
1 file changed, 5 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index ec4a0dee05..e8621fecc3 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -382,6 +382,11 @@
similar to . See
code(3).
+
+
+
Replaces the path specified in the boot script. See
+ script(4).
+
Starts Erlang with a remote shell connected to .
--
cgit v1.2.3
From 40695d080b0dc0665b01803768ffc74ed2eca207 Mon Sep 17 00:00:00 2001
From: Michael Santos
Date: Sun, 18 Oct 2015 16:20:37 -0400
Subject: epmd: support IPv6 node registration
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.
---
erts/doc/src/erl.xml | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index e8621fecc3..ed3e7e34c4 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -387,6 +387,28 @@
Replaces the path specified in the boot script. See
script(4).
--
cgit v1.2.3
From 6664eed554974336909d3ffe03f20349cc4c38fd Mon Sep 17 00:00:00 2001
From: Henrik Nord
Date: Tue, 15 Mar 2016 15:19:56 +0100
Subject: update copyright-year
---
erts/doc/src/erl.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 096af096dc..e13470c83c 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -4,7 +4,7 @@
- 19962015
+ 19962016Ericsson AB. All Rights Reserved.
--
cgit v1.2.3
From 6aae129123c4ce8988cc67b3545db9d1ec51324b Mon Sep 17 00:00:00 2001
From: Lukas Larsson
Date: Fri, 22 Apr 2016 18:45:30 +0200
Subject: erts: Rename erl flag +xmqd to +hmqd
Flags that control the heap should all fall under the +h flag
---
erts/doc/src/erl.xml | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index e13470c83c..c499fc8081 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -632,6 +632,15 @@
Sets the initial process dictionary size of processes to the size
.
+ +hmqd off_heap|on_heap|mixed
+
+ Sets the default value for the process flag
+ message_queue_data. If +hmqd is not
+ passed, mixed will be the default. For more information,
+ see the documentation of
+ process_flag(message_queue_data,
+ MQD).
+
Enables or disables the kernel poll functionality if
@@ -1361,21 +1370,6 @@
error_logger(3)
for further information.
-
-
-
Default process flag settings.
-
- +xmqd off_heap|on_heap|mixed
-
- Sets the default value for the process flag
- message_queue_data. If +xmqd is not
- passed, mixed will be the default. For more information,
- see the documentation of
- process_flag(message_queue_data,
- MQD).
-
-
-
Miscellaneous flags.
--
cgit v1.2.3
From e146a3eec5a2d384260aa8829777c89eaab09cbd Mon Sep 17 00:00:00 2001
From: Lukas Larsson
Date: Thu, 21 Apr 2016 18:36:45 +0200
Subject: erts: Implement max_heap_size process flag
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}
---
erts/doc/src/erl.xml | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index c499fc8081..1bbde7f1e0 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -627,6 +627,34 @@
Sets the default binary virtual heap size of processes to the size
.
+
+
+
+
Sets the default maximum heap size of processes to the size
+ . If +hmax is not given, the default is 0
+ which means that no maximum heap size is used.
+ For more information, see the documentation of
+
+ process_flag(max_heap_size, MaxHeapSize).
+
+
+
+
+
Sets whether to send an error logger message for processes that reach
+ the maximum heap size or not. If +hmaxel is not given, the default is true.
+ For more information, see the documentation of
+
+ process_flag(max_heap_size, MaxHeapSize).
+
+
+
+
+
Sets whether to kill processes that reach the maximum heap size or not. If
+ +hmaxk is not given, the default is true. For more information,
+ see the documentation of
+
+ process_flag(max_heap_size, MaxHeapSize).
+
Sets the initial process dictionary size of processes to the size
--
cgit v1.2.3
From 36f98375d57daaba3fec42bb91482cdac9ef4cc9 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Wed, 25 May 2016 16:15:36 +0200
Subject: Remove the 'message_queue_data' option 'mixed'
---
erts/doc/src/erl.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 1bbde7f1e0..2fae3bfb1f 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -660,11 +660,11 @@
Sets the initial process dictionary size of processes to the size
.
Sets the default value for the process flag
message_queue_data. If +hmqd is not
- passed, mixed will be the default. For more information,
+ passed, on_heap will be the default. For more information,
see the documentation of
process_flag(message_queue_data,
MQD).
--
cgit v1.2.3
From 34f853950685e4e7ab38f30fc3f17a6beac13349 Mon Sep 17 00:00:00 2001
From: Magnus Henoch
Date: Wed, 20 Apr 2016 14:40:39 +0100
Subject: Add -start_epmd command line option
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.
---
erts/doc/src/erl.xml | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 1bbde7f1e0..e63928ddb0 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -338,7 +338,8 @@
net_kernel(3).
It is also ensured that runs on the current host
before Erlang is started. See
- epmd(1).
+ epmd(1) and the
+ -start_epmd option.
The name of the node will be , where
is the fully qualified host name of the current
host. For short names, use the flag instead.
@@ -463,6 +464,21 @@
flag and those running with the flag, as node
names must be unique in distributed Erlang systems.
+ -start_epmd true | false
+
+
+
Specifies whether Erlang should start
+ epmd on startup. By default
+ this is true, but if you prefer to start epmd
+ manually, set this to false.
+
+
This only applies if Erlang is started as a distributed node,
+ i.e. if -name or -sname is specified. Otherwise,
+ epmd is not started even if -start_epmd true is given.
+
+
Note that a distributed node will fail to start if epmd is
+ not running.
+
-smp enable and -smp starts the Erlang runtime
--
cgit v1.2.3
From 7b5ca88b32c22a7f1a3152265d8d73418013b1c0 Mon Sep 17 00:00:00 2001
From: Lukas Larsson
Date: Fri, 13 May 2016 10:38:20 +0200
Subject: erts: Fix doc xml errors
---
erts/doc/src/erl.xml | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 5d5bfb141f..7b90a1ccca 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -643,8 +643,7 @@
Sets the default binary virtual heap size of processes to the size
.
-
-
+
Sets the default maximum heap size of processes to the size
. If +hmax is not given, the default is 0
@@ -653,8 +652,7 @@
process_flag(max_heap_size, MaxHeapSize).
-
-
+
Sets whether to send an error logger message for processes that reach
the maximum heap size or not. If +hmaxel is not given, the default is true.
@@ -662,8 +660,7 @@
process_flag(max_heap_size, MaxHeapSize).
-
-
+
Sets whether to kill processes that reach the maximum heap size or not. If
+hmaxk is not given, the default is true. For more information,
@@ -676,7 +673,7 @@
Sets the initial process dictionary size of processes to the size
.
- +hmqd off_heap|on_heap
+ +hmqd off_heap|on_heap
Sets the default value for the process flag
message_queue_data. If +hmqd is not
--
cgit v1.2.3
From 615b79a01706033e1ef0d78f020ebbb47fc80b86 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Thu, 16 Jun 2016 17:33:28 +0200
Subject: Add documentation about dirty job type
---
erts/doc/src/erl.xml | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 7b90a1ccca..436c2c57e1 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -915,6 +915,13 @@
number of dirty CPU schedulers online can be changed at run time via
erlang:system_flag(dirty_cpu_schedulers_online, DirtyCPUSchedulersOnline).
+
+ The amount of dirty CPU schedulers is limited by the amount of
+ normal schedulers in order to limit the effect on processes
+ executing on ordinary schedulers. If the amount of dirty CPU
+ schedulers was allowed to be unlimited, dirty CPU bound jobs would
+ potentially starve normal jobs.
+
This option is ignored if the emulator doesn't have threading support
enabled. Currently, this option is experimental and is supported only
if the emulator was configured and built with support for dirty schedulers
@@ -944,7 +951,7 @@
enabled (it's disabled by default).
-
+
Sets the number of dirty I/O scheduler threads to create when threading
support has been enabled. The valid range is 0-1024. By default, the number
@@ -952,6 +959,16 @@
threads in the async thread pool
.
+
+ The amount of dirty IO schedulers is not limited by the amount of
+ normal schedulers like the amount of
+ dirty CPU schedulers. This since only I/O bound work is
+ expected to execute on dirty I/O schedulers. I/O bound jobs are
+ expected to either block waiting for I/O, and/or spend a limited
+ amount of time moving data. However, if the user should schedule CPU
+ bound jobs on dirty I/O schedulers, these jobs might starve ordinary
+ jobs executing on ordinary schedulers.
+
This option is ignored if the emulator doesn't have threading support
enabled. Currently, this option is experimental and is supported only
if the emulator was configured and built with support for dirty schedulers
--
cgit v1.2.3
From c9ad0c9fed1d33891f5fa8a4c4511de48417ec10 Mon Sep 17 00:00:00 2001
From: Rickard Green
Date: Fri, 17 Jun 2016 11:53:29 +0200
Subject: Minor reorganization of dirty NIF documentation
---
erts/doc/src/erl.xml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
(limited to 'erts/doc/src/erl.xml')
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 436c2c57e1..37387f2c59 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -963,9 +963,7 @@
The amount of dirty IO schedulers is not limited by the amount of
normal schedulers like the amount of
dirty CPU schedulers. This since only I/O bound work is
- expected to execute on dirty I/O schedulers. I/O bound jobs are
- expected to either block waiting for I/O, and/or spend a limited
- amount of time moving data. However, if the user should schedule CPU
+ expected to execute on dirty I/O schedulers. If the user should schedule CPU
bound jobs on dirty I/O schedulers, these jobs might starve ordinary
jobs executing on ordinary schedulers.