From 4c3aebea835bb02c3634221b3d9943ec48bb362f Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Tue, 16 Feb 2010 22:59:48 +0000 Subject: OTP-8457 Minor documentation fixes. Mainly anchor adjustments. --- INSTALL-WIN32.md | 24 ++++--- erts/doc/src/erl.xml | 45 ++++-------- erts/doc/src/erl_driver.xml | 7 +- erts/doc/src/erlang.xml | 72 +++++++------------ erts/doc/src/erts_alloc.xml | 164 ++++++++++++++++++-------------------------- xcomp/README.md | 2 +- 6 files changed, 124 insertions(+), 190 deletions(-) diff --git a/INSTALL-WIN32.md b/INSTALL-WIN32.md index 305792ef88..f59a8ece67 100644 --- a/INSTALL-WIN32.md +++ b/INSTALL-WIN32.md @@ -50,15 +50,14 @@ tools. However, if you feel comfortable with the environment and build system, and have all the necessary tools, you have a great opportunity to make the Erlang/OTP distribution for Windows better. Please submit -any suggestions and patches to the appropriate mailing lists (see -) to let them find their way into the next -version of Erlang. If making changes to the build system (like -makefiles etc) please bear in mind that the same makefiles are used on -Unix/VxWorks/OSEDelta, so that your changes don't break other -platforms. That of course goes for C-code too, system specific code -resides in the `$ERL_TOP/erts/emulator/sys/win32` and `$ERL_TOP/erts/etc/win32` -directories mostly. The `$ERL_TOP/erts/emulator/beam directory` is for -common code. +any suggestions and patches to the appropriate [mailing lists] [1] to let +them find their way into the next version of Erlang. If making changes +to the build system (like makefiles etc) please bear in mind that the +same makefiles are used on Unix/VxWorks/OSEDelta, so that your changes +don't break other platforms. That of course goes for C-code too, system +specific code resides in the `$ERL_TOP/erts/emulator/sys/win32` and +`$ERL_TOP/erts/etc/win32` directories mostly. The +`$ERL_TOP/erts/emulator/beam directory` is for common code. Before the R9C release of Erlang/OTP, the Windows release was built partly on a Unix (Solaris) box and partly on a Windows box, using Perl @@ -68,8 +67,8 @@ needed at all. Now we've used this build procedure for a couple of releases, and it has worked fine for us. Still, there might be all sorts of troubles on different machines and with different setups. I'll try to give hints wherever I've encountered difficulties, -but please share your experiences by using the mailing list -. I cannot of course help everyone with all +but please share your experiences by using the [`erlang-questions`] [1] +mailing list. I cannot of course help everyone with all their problems, please try to solve the problems and submit solutions/workarounds. Remember, it's all about sharing, not about demanding... @@ -777,3 +776,6 @@ Copyright and License > under the License. > > %CopyrightEnd% + + + [1]: http://www.erlang.org/faq.html "mailing lists" diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml index 7a2ab375d1..bb741c7836 100644 --- a/erts/doc/src/erl.xml +++ b/erts/doc/src/erl.xml @@ -131,9 +131,8 @@ see app(4) and application(3).

- + -

Command line arguments are read from the file . The arguments read from the file replace the '' flag on the resulting command line.

@@ -197,9 +196,8 @@ app(4) and application(3).

- + -

If this flag is present, will not maintain a fully connected network of distributed Erlang nodes, and then global name registration cannot be used. See @@ -282,9 +280,8 @@

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 instrumented runtime system, some resource usage data can be @@ -431,9 +428,8 @@ 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 system with SMP support is available. -smp auto starts @@ -462,9 +458,8 @@

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 default suggested stack size is 16 kilowords, i.e, 64 @@ -478,9 +473,8 @@ suggestion, and it might even be ignored on some platforms.

- + -

Sets the number of threads in async thread pool, valid range is 0-1024. Default is 0.

@@ -550,23 +544,20 @@

Enables auto load tracing, displaying info while loading code.

- + -

Memory allocator specific flags, see erts_alloc(3) for further information.

- + -

Sets the maximum number of concurrent processes for this system. must be in the range 16..134217727. Default is 32768.

- + -

Sets the compatibility mode.

The distribution mechanism is not backwards compatible by default. This flags sets the emulator in compatibility mode @@ -592,9 +583,8 @@

Force ets memory block to be moved on realloc.

- + -

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 @@ -615,9 +605,8 @@

Scheduling specific flags.

- +sbt BindType + +sbt BindType -

Set scheduler bind type. Currently valid BindTypes:

@@ -672,9 +661,8 @@ erlang:system_flag(scheduler_bind_type, SchedulerBindType).

- +sct CpuTopology + +sct CpuTopology - = integer(); when 0 =< =< 65535]]> = -]]> @@ -791,21 +779,18 @@
- + -

Suggested stack size, in kilowords, for scheduler threads. Valid range is 4-8192 kilowords. The default stack size is OS dependent.

- + -

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 will change. A high level usually means a greater change than diff --git a/erts/doc/src/erl_driver.xml b/erts/doc/src/erl_driver.xml index 63108f41f0..5061230a33 100644 --- a/erts/doc/src/erl_driver.xml +++ b/erts/doc/src/erl_driver.xml @@ -171,8 +171,8 @@ asynchronous function calls, using a thread pool provided by Erlang. There is also a select call, that can be used for asynchronous drivers. - Multi-threading - + Multi-threading +

A POSIX thread like API for multi-threading is provided. The Erlang driver thread API only provide a subset of the functionality provided by the POSIX thread API. The subset provided is @@ -245,9 +245,8 @@ A driver can add and later remove drivers. Monitoring processes A driver can monitor a process that does not own a port. - Version management + Version management -

Version management is enabled for drivers that have set the extended_marker field of their diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index d4fd8c8c9f..46f8df4683 100644 --- a/erts/doc/src/erlang.xml +++ b/erts/doc/src/erlang.xml @@ -3474,9 +3474,8 @@ os_prompt%

This changes the minimum binary virtual heap size for the calling process.

- process_flag(priority, Level) + process_flag(priority, Level) -

This sets the process priority. Level is an atom. There are currently four priority levels: low, normal, high, and max. The default @@ -4788,9 +4787,8 @@ true ContextSwitches is the total number of context switches since the system started.

- exact_reductions + exact_reductions -

Returns {Total_Exact_Reductions, Exact_Reductions_Since_Last_Call}.

NOTE:statistics(exact_reductions) is @@ -4810,9 +4808,8 @@ true through ports, and Output is the total number of bytes output to ports.

- reductions + reductions -

Returns {Total_Reductions, Reductions_Since_Last_Call}.

NOTE: From erts version 5.5 (OTP release R11B) @@ -4983,9 +4980,8 @@ true

Sets the maximum depth of call stack back-traces in the exit reason element of 'EXIT' tuples.

- erlang:system_flag(cpu_topology, CpuTopology) + erlang:system_flag(cpu_topology, CpuTopology) -

Sets the user defined CpuTopology. The user defined CPU topology will override any automatically detected CPU topology. By passing undefined as CpuTopology @@ -5047,9 +5043,8 @@ true spawn_opt/N or process_flag/2.

- erlang:system_flag(multi_scheduling, BlockState) + erlang:system_flag(multi_scheduling, BlockState) -

BlockState = block | unblock

If multi-scheduling is enabled, more than one scheduler thread is used by the emulator. Multi-scheduling can be @@ -5083,9 +5078,8 @@ true erlang:system_info(multi_scheduling_blockers), and erlang:system_info(schedulers).

- erlang:system_flag(scheduler_bind_type, How) + erlang:system_flag(scheduler_bind_type, How) -

Controls if and how schedulers are bound to logical processors.

When erlang:system_flag(scheduler_bind_type, How) is @@ -5212,9 +5206,8 @@ true erlang:system_flag(cpu_topology, CpuTopology).

- erlang:system_flag(schedulers_online, SchedulersOnline) + erlang:system_flag(schedulers_online, SchedulersOnline) -

Sets the amount of schedulers online. Valid range is .

@@ -5252,9 +5245,8 @@ true

Returns various information about the current system (emulator) as specified by Type:

- allocated_areas + allocated_areas -

Returns a list of tuples with information about miscellaneous allocated memory areas.

Each tuple contains an atom describing type of memory as @@ -5274,9 +5266,8 @@ true in the total amount of memory allocated by the emulator see erlang:memory/0,1.

- allocator + allocator -

Returns {Allocator, Version, Features, Settings}.

Types:

@@ -5317,9 +5308,8 @@ true

See also "System Flags Effecting erts_alloc" in erts_alloc(3).

- alloc_util_allocators + alloc_util_allocators -

Returns a list of the names of all allocators using the ERTS internal alloc_util framework as atoms. For more information see the @@ -5328,9 +5318,8 @@ true erts_alloc(3) documentation.

- {allocator, Alloc} + {allocator, Alloc} -

Returns information about the specified allocator. As of erts version 5.6.1 the return value is a list of {instance, InstanceNo, InstanceInfo} tuples @@ -5366,9 +5355,8 @@ true values. The first value is memory pool size and the second value used memory size.

- {allocator_sizes, Alloc} + {allocator_sizes, Alloc} -

Returns various size information for the specified allocator. The information returned is a subset of the information returned by @@ -5402,9 +5390,8 @@ true line flag +R, see erl(1).

- cpu_topology + cpu_topology -

Returns the CpuTopology which currently is used by the emulator. The CPU topology is used when binding schedulers to logical processors. The CPU topology used is the user defined @@ -5677,9 +5664,8 @@ true erl(1) command for more information on modified timing.

- multi_scheduling + multi_scheduling -

Returns disabled, blocked, or enabled. A description of the return values:

@@ -5708,9 +5694,8 @@ true erlang:system_info(multi_scheduling_blockers), and erlang:system_info(schedulers).

- multi_scheduling_blockers + multi_scheduling_blockers -

Returns a list of PIDs when multi-scheduling is blocked; otherwise, the empty list. The PIDs in the list is PIDs of the processes currently @@ -5721,9 +5706,8 @@ true erlang:system_info(multi_scheduling), and erlang:system_info(schedulers).

- otp_release + otp_release -

Returns a string containing the OTP release number.

process_count @@ -5747,9 +5731,8 @@ true information see the "How to interpret the Erlang crash dumps" chapter in the ERTS User's Guide.

- scheduler_bind_type + scheduler_bind_type -

Returns information on how user has requested schedulers to be bound or not bound.

NOTE: Even though user has requested @@ -5764,9 +5747,8 @@ true erlang:system_info(scheduler_bindings).

- scheduler_bindings + scheduler_bindings -

Returns information on currently used scheduler bindings.

A tuple of a size equal to @@ -5788,18 +5770,16 @@ true erlang:system_info(schedulers_online).

- scheduler_id + scheduler_id -

Returns the scheduler id (SchedulerId) of the scheduler thread that the calling process is executing on. SchedulerId is a positive integer; where . See also erlang:system_info(schedulers).

- schedulers + schedulers -

Returns the number of scheduler threads used by the emulator. Scheduler threads online schedules Erlang processes and Erlang ports, and execute Erlang code @@ -5815,9 +5795,8 @@ true erlang:system_info(multi_scheduling), and and erlang:system_info(multi_scheduling_blockers).

- schedulers_online + schedulers_online -

Returns the amount of schedulers online. The scheduler identifiers of schedulers online satisfy the following relationship: @@ -5850,9 +5829,8 @@ true with thread support; otherwise, false is returned.

- thread_pool_size + thread_pool_size -

Returns the number of async threads in the async thread pool used for asynchronous driver calls (driver_async()) @@ -5865,9 +5843,8 @@ true get_tcw in "Match Specifications in Erlang", ERTS User's Guide.

- version + version -

Returns a string containing the version number of the emulator.

@@ -6477,9 +6454,8 @@ true the current function cannot be determined, then the last element Arity is 0.

- {trace, Pid, gc_start, Info} + {trace, Pid, gc_start, Info} -

Sent when garbage collection is about to be started. Info is a list of two-element tuples, where the first element is a key, and the second is the value. diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml index d51e5b3ea4..51a4a2bca0 100644 --- a/erts/doc/src/erts_alloc.xml +++ b/erts/doc/src/erts_alloc.xml @@ -4,7 +4,7 @@

- 20022009 + 20022010 Ericsson AB. All Rights Reserved. @@ -13,12 +13,12 @@ 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/. - + 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. - + erts_alloc @@ -122,7 +122,7 @@ size (lmbcs), the smallest multiblock carrier size (smbcs), and the multiblock carrier growth stages - (mbcgs) parameters. If + (mbcgs) parameters. If nc is the current number of multiblock carriers (the main multiblock carrier excluded) managed by an allocator, the size of the next mseg_alloc multiblock carrier allocated by @@ -229,29 +229,25 @@

The following flags are available for configuration of mseg_alloc:

- ]]> - - + ]]> + Absolute max cache bad fit (in kilobytes). A segment in the memory segment cache is not reused if its size exceeds the requested size with more than the value of this parameter. Default value is 4096. - ]]> - - + ]]> + Relative max cache bad fit (in percent). A segment in the memory segment cache is not reused if its size exceeds the requested size with more than relative max cache bad fit percent of the requested size. Default value is 20. - ]]> - - + ]]> + Max cached segments. The maximum number of memory segments stored in the memory segment cache. Valid range is 0-30. Default value is 5. - ]]> - - + ]]> + Cache check interval (in milliseconds). The memory segment cache is checked for segments to destroy at an interval determined by this parameter. Default value is 1000. @@ -259,26 +255,23 @@

The following flags are available for configuration of fix_alloc:

- +MFe true - - + +MFe true + Enable fix_alloc. Note: fix_alloc cannot be disabled.

The following flags are available for configuration of sys_alloc:

- +MYe true - - + +MYe true + Enable sys_alloc. Note: sys_alloc cannot be disabled. - +MYm libc - -malloc library to use. Currently only + +MYm libc + + malloc library to use. Currently only libc is available. libc enables the standard libc malloc implementation. By default libc is used. - ]]> - - + ]]> + Trim threshold size (in kilobytes). This is the maximum amount of free memory at the top of the heap (allocated by sbrk) that will be kept by malloc (not @@ -289,9 +282,8 @@ trim threshold is 128. Note: This flag will only have any effect when the emulator has been linked with the GNU C library, and uses its malloc implementation. - ]]> - - + ]]> + Top pad size (in kilobytes). This is the amount of extra memory that will be allocated by malloc when sbrk is called to get more memory from the operating @@ -308,43 +300,37 @@ subsystem identifier, only the specific allocator identified will be effected:

- as bf|aobf|gf|af]]> - - + as bf|aobf|gf|af]]> + Allocation strategy. Valid strategies are bf (best fit), aobf (address order best fit), gf (good fit), and af (a fit). See the description of allocation strategies in "the alloc_util framework" section. - asbcst ]]> - - + asbcst ]]> + Absolute singleblock carrier shrink threshold (in kilobytes). When a block located in an mseg_alloc singleblock carrier is shrunk, the carrier will be left unchanged if the amount of unused memory is less than this threshold; otherwise, the carrier will be shrunk. See also rsbcst. - e true|false]]> - - + e true|false]]> + Enable allocator ]]>. - lmbcs ]]> - - + lmbcs ]]> + Largest (mseg_alloc) multiblock carrier size (in kilobytes). See the description on how sizes for mseg_alloc multiblock carriers are decided in "the alloc_util framework" section. - mbcgs ]]> - - + mbcgs ]]> + (mseg_alloc) multiblock carrier growth stages. See the description on how sizes for mseg_alloc multiblock carriers are decided in "the alloc_util framework" section. - mbsd ]]> - - + mbsd ]]> + Max block search depth. This flag has effect only if the good fit strategy has been selected for allocator ]]>. When the good fit strategy is used, free @@ -353,47 +339,41 @@ search depth sets a limit on the maximum number of blocks to inspect in a free list during a search for suitable block satisfying the request. - mmbcs ]]> - - + mmbcs ]]> + Main multiblock carrier size. Sets the size of the main multiblock carrier for allocator ]]>. The main multiblock carrier is allocated via and is never deallocated. - mmmbc ]]> - - + mmmbc ]]> + Max mseg_alloc multiblock carriers. Maximum number of multiblock carriers allocated via mseg_alloc by allocator ]]>. When this limit has been reached, new multiblock carriers will be allocated via sys_alloc. - mmsbc ]]> - - + mmsbc ]]> + Max mseg_alloc singleblock carriers. Maximum number of singleblock carriers allocated via mseg_alloc by allocator ]]>. When this limit has been reached, new singleblock carriers will be allocated via sys_alloc. - ramv ]]> - - + ramv ]]> + Realloc always moves. When enabled, reallocate operations will more or less be translated into an allocate, copy, free sequence. This often reduce memory fragmentation, but costs performance. - rmbcmt ]]> - - + rmbcmt ]]> + Relative multiblock carrier move threshold (in percent). When a block located in a multiblock carrier is shrunk, the block will be moved if the ratio of the size of the returned memory compared to the previous size is more than this threshold; otherwise, the block will be shrunk at current location. - rsbcmt ]]> - - + rsbcmt ]]> + Relative singleblock carrier move threshold (in percent). When a block located in a singleblock carrier is shrunk to a size smaller than the value of the @@ -401,32 +381,28 @@ the block will be left unchanged in the singleblock carrier if the ratio of unused memory is less than this threshold; otherwise, it will be moved into a multiblock carrier. - rsbcst ]]> - - + rsbcst ]]> + Relative singleblock carrier shrink threshold (in percent). When a block located in an mseg_alloc singleblock carrier is shrunk, the carrier will be left unchanged if the ratio of unused memory is less than this threshold; otherwise, the carrier will be shrunk. See also asbcst. - sbct ]]> - - + sbct ]]> + Singleblock carrier threshold. Blocks larger than this threshold will be placed in singleblock carriers. Blocks smaller than this threshold will be placed in multiblock carriers. - smbcs ]]> - - + smbcs ]]> + Smallest (mseg_alloc) multiblock carrier size (in kilobytes). See the description on how sizes for mseg_alloc multiblock carriers are decided in "the alloc_util framework" section. - t true|false|]]> - - + t true|false|]]> + Multiple, thread specific instances of the allocator. This option will only have any effect on the runtime system with SMP support. Default behaviour on the runtime system with @@ -451,16 +427,15 @@ alloc_util, i.e. all allocators based on alloc_util will be effected:

- ]]> - -sys_alloc carrier size. Carriers allocated via + ]]> + + sys_alloc carrier size. Carriers allocated via sys_alloc will be allocated in sizes which are multiples of the sys_alloc carrier size. This is not true for main multiblock carriers and carriers allocated during a memory shortage, though. - ]]> - - + ]]> + Max mseg_alloc carriers. Maximum number of carriers placed in separate memory segments. When this limit has been reached, new carriers will be placed in memory retrieved from @@ -468,23 +443,20 @@

Instrumentation flags:

- +Mim true|false - - + +Mim true|false + A map over current allocations is kept by the emulator. The allocation map can be retrieved via the instrument module. +Mim true implies +Mis true. +Mim true is the same as -instr. - +Mis true|false - - + +Mis true|false + Status over allocated memory is kept by the emulator. The allocation status can be retrieved via the instrument module. - +Mit X - - + +Mit X + Reserved for future use. Do not use this flag. @@ -493,8 +465,8 @@

Other flags:

- +Mea min|max|r9c|r10b|r11b|config - + +Mea min|max|r9c|r10b|r11b|config + min diff --git a/xcomp/README.md b/xcomp/README.md index 19a692143a..bc2696c046 100644 --- a/xcomp/README.md +++ b/xcomp/README.md @@ -80,7 +80,7 @@ Other files that might need to be updated are: - `$ERL_TOP/xcomp/erl-xcomp-vars.sh` - `$ERL_TOP/erl-build-tool-vars.sh` - `$ERL_TOP/erts/aclocal.m4` -- `$ERL_TOP/xcomp/README` +- `$ERL_TOP/xcomp/README.md` - `$ERL_TOP/xcomp/erl-xcomp-*.conf` Note that this might be an incomplete list of files that need to be updated. -- cgit v1.2.3