From f17532112c6b723a7b025c7d74565e7ac2588cbb Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Mon, 4 Nov 2013 17:18:52 +0100 Subject: Add support for locking mappings to physical memory Using "+Mlpm all" switch all mappings made by the emulator will be locked into physical memory. --- erts/doc/src/erts_alloc.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'erts/doc/src/erts_alloc.xml') diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml index 9dab5b3876..90bc35cdc9 100644 --- a/erts/doc/src/erts_alloc.xml +++ b/erts/doc/src/erts_alloc.xml @@ -604,6 +604,16 @@ + +Mlpm all|no + Lock physical memory. The default value is no, i.e., + no physical memory will be locked. If set to all, all + memory mappings made by the runtime system, will be locked into + physical memory. If set to all, the runtime system will fail + to start if this feature is not supported, the user has not got enough + privileges, or the user is not allowed to lock enough physical memory. + The runtime system will also fail with an out of memory condition + if the user limit on the amount of locked memory is reached. +

Only some default values have been presented here. -- cgit v1.2.3 From bb59a8fcf1f6cf4162a2a97c13087843d1b9dac4 Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Tue, 5 Nov 2013 15:37:49 +0100 Subject: Add switch for disabling sys_alloc carriers The switch "+Musac " controls if sys_alloc carriers are allowed. --- erts/doc/src/erts_alloc.xml | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'erts/doc/src/erts_alloc.xml') diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml index 90bc35cdc9..70029dbeab 100644 --- a/erts/doc/src/erts_alloc.xml +++ b/erts/doc/src/erts_alloc.xml @@ -549,6 +549,11 @@ placed in separate memory segments. When this limit has been reached, new carriers will be placed in memory retrieved from sys_alloc. + ]]> + + Allow sys_alloc carriers. By default true. If + set to false, sys_alloc carriers will never be + created by allocators using the alloc_util framework.

Instrumentation flags:

-- cgit v1.2.3 From e526cb32336afc4feb4b92665d31ccc2af3e741c Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Tue, 5 Nov 2013 17:00:38 +0100 Subject: Replace the +MMscmgc switch with +MMscrfsd Replaced the +MMscmgc switch with the +MMscrfsd switch. The old switch didn't reflect what it controlled. --- erts/doc/src/erts_alloc.xml | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'erts/doc/src/erts_alloc.xml') diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml index 70029dbeab..8f5e8cd10b 100644 --- a/erts/doc/src/erts_alloc.xml +++ b/erts/doc/src/erts_alloc.xml @@ -271,15 +271,6 @@ 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. - ]]> - - Set super carrier max guaranteed - no of carriers. This parameter defaults to 65536. This - parameter determines an amount of pre-allocated structures that is - needed in order to keep track of different areas in the super carrier. - When the system runs out of such structures it may crash due to an - out of memory condition. - Set super carrier only flag. This @@ -295,6 +286,19 @@ disabled on halfword heap systems. This flag will be ignored on halfword heap systems. + ]]> + + Set super carrier reserved + free segment descriptors. This parameter defaults to 65536. + This parameter determines the amount of memory to reserve for + free segment descriptors used by the super carrier. If the system + runs out of reserved memory for free segment descriptors, other + memory will be used. This may however cause fragmentation issues, + so you want to ensure that this never happens. The maximum amount + of free segment descriptors used can be retrieved from the + erts_mmap tuple part of the result from calling + erlang:system_info({allocator, mseg_alloc}). + Set super carrier reserve physical -- cgit v1.2.3 From b82549dfb985e4b55a6531d634e46446f7a8dbee Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Tue, 5 Nov 2013 17:13:35 +0100 Subject: Fix documentation of the +MMsco switch --- erts/doc/src/erts_alloc.xml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'erts/doc/src/erts_alloc.xml') diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml index 8f5e8cd10b..a0ec89f398 100644 --- a/erts/doc/src/erts_alloc.xml +++ b/erts/doc/src/erts_alloc.xml @@ -275,9 +275,14 @@ Set super carrier only flag. This flag defaults to true. When a super carrier is used and this - flag is true, the system will crash when a carrier request - cannot be satisfied by the super carrier. When the flag is false - the system will try to create requested carrier by other means. + flag is true, mseg_alloc will only create carriers + in the super carrier. Note that the alloc_util framework may + create sys_alloc carriers, so if you want all carriers to + be created in the super carrier, you therefore want to disable use + of sys_alloc carriers by also passing + +Musac false. When the flag + is false, mseg_alloc will try to create carriers outside + of the super carrier when the super carrier is full.

NOTE: Setting this flag to false may not be supported on all systems. This flag will in that case be ignored. -- cgit v1.2.3