aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
Diffstat (limited to 'erts')
-rw-r--r--erts/doc/src/notes.xml207
1 files changed, 0 insertions, 207 deletions
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index 7ac66906ee..e70e314abe 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -30,213 +30,6 @@
</header>
<p>This document describes the changes made to the ERTS application.</p>
-<section><title>Erts 5.10</title>
-
- <section><title>Fixed Bugs and Malfunctions</title>
- <list>
- <item>
- <p>
- Set new peeled off SCTP socket to nonblocking socket
- (Thanks to Jonas Falkevik)</p>
- <p>
- Own Id: OTP-10491</p>
- </item>
- <item>
- <p>
- Fix various typos (thanks to Tuncer Ayaz)</p>
- <p>
- Own Id: OTP-10611</p>
- </item>
- </list>
- </section>
-
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- A boolean socket option 'ipv6_v6only' for IPv6 sockets
- has been added. The default value of the option is OS
- dependent, so applications aiming to be portable should
- consider using <c>{ipv6_v6only,true}</c> when creating an
- <c>inet6</c> listening/destination socket, and if
- neccesary also create an <c>inet</c> socket on the same
- port for IPv4 traffic. See the documentation.</p>
- <p>
- Own Id: OTP-8928 Aux Id: kunagi-193 [104] </p>
- </item>
- <item>
- <p>It is now allowed to define stubs for BIFs, to allow
- type specs to be written for BIFs. For example, if there
- is BIF called <c>lists:member/2</c>, a dummy definition
- of <c>lists:member/2</c> is now allowed.</p>
- <p>
- Own Id: OTP-9861</p>
- </item>
- <item>
- <p>
- Code loading and upgrade are now done without blocking
- the emulator in single threaded mode. This will improve
- realtime characteristics when code is loaded/upgraded on
- a running SMP system.</p>
- <p>
- Own Id: OTP-9974</p>
- </item>
- <item>
- <p>In the SMP emulator, turning on and off tracing will
- no longer take down the system to single-scheduling. </p>
- <p>
- Own Id: OTP-10122</p>
- </item>
- <item>
- <p>
- Tuple funs (deprecated in R15B) are no longer supported.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-10170</p>
- </item>
- <item>
- <p>Major port improvements. The most notable:</p> <list>
- <item>New internal port table implementation allowing for
- both parallel reads as well as writes. Especially read
- operations have become really cheap.</item> <item>Dynamic
- allocation of port structures. This allow for a much
- larger maximum amount of ports allowed as a default. The
- previous default of 1024 has been raised to 65536.
- Maximum amount of ports can be set using the <seealso
- marker="erts:erl#+Q">+Q</seealso> command line flag of
- <seealso marker="erts:erl">erl(1)</seealso>. The
- previously used environment variable <c>ERL_MAX_PORTS</c>
- has been deprecated and scheduled for removal in
- OTP-R17.</item> <item>Major rewrite of scheduling of port
- tasks. Major benefits of the rewrite are reduced
- contention on run queue locks, and reduced amount of
- memory allocation operations needed. The rewrite was also
- necessary in order to make it possible to schedule
- signals from processes to ports.</item> <item>Improved
- internal thread progress functionality for easy
- management of unmanaged threads. This improvement was
- necessary for the rewrite of the port task
- scheduling.</item> <item>Rewrite of all process to port
- signal implementations in order to make it possible to
- schedule those operations. All port operations can now be
- scheduled which allows for reduced lock contention on the
- port lock as well as truly asynchronous communication
- with ports.</item> <item>Optimized lookup of port handles
- from drivers.</item> <item>Optimized driver lookup when
- creating ports.</item> <item>Preemptable <seealso
- marker="erts:erlang#ports-0">erlang:ports/0</seealso>
- BIF.</item> </list>
- <p>These changes imply changes of the characteristics of
- the system. The most notable:</p> <taglist> <tag>Order of
- signal delivery.</tag> <item>The previous implementation
- of the VM has delivered signals from processes to ports
- in a synchronous stricter fashion than required by the
- language. As of ERTS version 5.10, signals are truly
- asynchronously delivered. The order of signal delivery
- still adheres to the requirements of the language, but
- only to the requirements. That is, some signal sequences
- that previously always were delivered in one specific
- order may now from time to time be delivered in different
- orders. This may cause Erlang programs that have made
- <em>false assumptions</em> about signal delivery order to
- fail even though they previously succeeded. For more
- information about signal ordering guarantees, see the
- chapter on <seealso
- marker="erts:communication">communication</seealso> in
- the ERTS user's guide. The <seealso
- marker="erts:erl#+n">+n</seealso> command line flag of
- <seealso marker="erts:erl">erl(1)</seealso> can be
- helpful when trying to find signaling order bugs in
- Erlang code that have been exposed by these
- changes.</item> <tag>Latency of signals sent from
- processes to ports.</tag> <item>Signals from processes to
- ports where previously always delivered immediately. This
- kept latency for such communication to a minimum, but it
- could cause lock contention which was very expensive for
- the system as a whole. In order to keep this latency low
- also in the future, most signals from processes to ports
- are by default still delivered immediately as long as no
- conflicts occur. Such conflicts include not being able to
- acquire the port lock, but also include other conflicts.
- When a conflict occur, the signal will be scheduled for
- delivery at a later time. A scheduled signal delivery may
- cause a higher latency for this specific communication,
- but improves the overall performance of the system since
- it reduce lock contention between schedulers. The default
- behavior of only scheduling delivery of these signals on
- conflict can be changed by passing the <seealso
- marker="erts:erl#+spp">+spp</seealso> command line flag
- to <seealso marker="erts:erl">erl(1)</seealso>. The
- behavior can also be changed on port basis using the
- <seealso
- marker="erts:erlang#open_port_parallelism">parallelism</seealso>
- option of the <seealso
- marker="erts:erlang#open_port-2">open_port/2</seealso>
- BIF.</item> <tag>Execution time of the
- <c>erlang:ports/0</c> BIF.</tag> <item>Since <seealso
- marker="erts:erlang#ports-0">erlang:ports/0</seealso> now
- can be preempted, the responsiveness of the system as a
- whole has been improved. A call to <c>erlang:ports/0</c>
- may, however, take a much longer time to complete than
- before. How much longer time heavily depends on the
- system load.</item> </taglist>
- <p><em>Potential incompatibilities</em>:</p> <list>
- <item><c>driver_send_term()</c> has been deprecated and
- has been scheduled for removal in OTP-R17. Replace usage
- of <c>driver_send_term()</c> with usage of <seealso
- marker="erts:erl_driver#erl_drv_send_term">erl_drv_send_term()</seealso>.</item>
- <item><c>driver_output_term()</c> has been deprecated and
- has been scheduled for removal in OTP-R17. Replace usage
- of <c>driver_output_term()</c> with usage of <seealso
- marker="erts:erl_driver#erl_drv_output_term">erl_drv_output_term()</seealso>.</item>
- <item>The new function <seealso
- marker="erts:erl_driver#erl_drv_busy_msgq_limits">erl_drv_busy_msgq_limits()</seealso>
- has been added in order to able to control management of
- port queues.</item> </list>
- <p>The <seealso
- marker="erts:erl_driver#version_management">driver API
- version</seealso> has been bumped to 2.1 from 2.0 due to
- the above changes in the driver API.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-10336 Aux Id: kunagi-138
- [b5b97f67-fe34-46dc-93e6-a2931576db12] </p>
- </item>
- <item>
- <p>
- Erlang specification 4.7.3 defines max tuple size to
- 65535 elements It is now enforced to no more than
- 16777215 elements (arity 24 bits)</p>
- <p>
- Previous edge cases (28 bits) were not validated and
- could cause undefined behaviour.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-10633</p>
- </item>
- <item>
- <p>
- The previous default of a maximum of 32768 simultaneous
- processes has been raised to 262144. This value can be
- changed using the the <seealso
- marker="erl#+P">+P</seealso> command line flag of
- <seealso marker="erl">erl(1)</seealso>. Note that the
- value passed now is considered as a hint, and that actual
- value chosen in most cases will be a power of two.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-10647 Aux Id: OTP-10336 </p>
- </item>
- </list>
- </section>
-
-</section>
-
<section><title>Erts 5.9.3.1</title>
<section><title>Known Bugs and Problems</title>