This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 1/2] Add note on MALLOC_MMAP_* environment variables
I've nothing to add beyond Carlos's comments. I looked this over and
it looks good to me.
Cheers,
Michael
On Wed, Oct 26, 2016 at 6:15 AM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 10/24/2016 10:07 AM, Siddhesh Poyarekar wrote:
>> The mallopt parameters manual does not mention the environment
>> variables that can be used to set these parameters at program startup.
>> Mention those environment variables for completeness.
>>
>> * manual/memory.texi: Add environment variable alternatives to
>> setting mallopt parameters.
>
> Two nits. Otherwise OK.
>
>> ---
>> manual/memory.texi | 31 +++++++++++++++++++++++++++++++
>> 1 file changed, 31 insertions(+)
>>
>> diff --git a/manual/memory.texi b/manual/memory.texi
>> index 5383105..6f33455 100644
>> --- a/manual/memory.texi
>> +++ b/manual/memory.texi
>> @@ -1113,12 +1113,25 @@ choices for @var{param}, as defined in @file{malloc.h}, are:
>> @item M_MMAP_MAX
>> The maximum number of chunks to allocate with @code{mmap}. Setting this
>> to zero disables all use of @code{mmap}.
>> +
>> +The default value of this parameter is @code{65536}.
>> +
>> +This parameter can also be set for the process at startup by setting the
>> +environment variable @code{MALLOC_MMAP_MAX_} to the desired value.
>> @item M_MMAP_THRESHOLD
>> All chunks larger than this value are allocated outside the normal
>> heap, using the @code{mmap} system call. This way it is guaranteed
>> that the memory for these chunks can be returned to the system on
>> @code{free}. Note that requests smaller than this threshold might still
>> be allocated via @code{mmap}.
>> +
>> +If this parameter is not set, the default value is set as 128 KB and the
>
> Should this be 128KiB?
>
>> +threshold is adjusted dynamically to suit the allocation patterns of the
>> +program. If the parameter is set, the dynamic adjustment is disabled and the
>> +value is set statically to the input value.
>> +
>> +This parameter can also be set for the process at startup by setting the
>> +environment variable @code{MALLOC_MMAP_THRESHOLD_} to the desired value.
>> @comment TODO: @item M_MXFAST
>> @item M_PERTURB
>> If non-zero, memory blocks are filled with values depending on some
>> @@ -1128,16 +1141,34 @@ use of uninitialized or freed heap memory. Note that this option does not
>> guarantee that the freed block will have any specific values. It only
>> guarantees that the content the block had before it was freed will be
>> overwritten.
>> +
>> +The default value of this parameter is @code{0}.
>> +
>> +This parameter can also be set for the process at startup by setting the
>> +environment variable @code{MALLOC_MMAP_PERTURB_} to the desired value.
>> @item M_TOP_PAD
>> This parameter determines the amount of extra memory to obtain from the
>> system when a call to @code{sbrk} is required. It also specifies the
>> number of bytes to retain when shrinking the heap by calling @code{sbrk}
>> with a negative argument. This provides the necessary hysteresis in
>> heap size such that excessive amounts of system calls can be avoided.
>> +
>> +The default value of this parameter is @code{0}.
>> +
>> +This parameter can also be set for the process at startup by setting the
>> +environment variable @code{MALLOC_TOP_PAD_} to the desired value.
>> @item M_TRIM_THRESHOLD
>> This is the minimum size (in bytes) of the top-most, releasable chunk
>> that will cause @code{sbrk} to be called with a negative argument in
>> order to return memory to the system.
>> +
>> +If this parameter is not set, the default value is set as 128 KB and the
>
> Likewise.
>
>> +threshold is adjusted dynamically to suit the allocation patterns of the
>> +program. If the parameter is set, the dynamic adjustment is disabled and the
>> +value is set statically to the provided input.
>> +
>> +This parameter can also be set for the process at startup by setting the
>> +environment variable @code{MALLOC_TRIM_THRESHOLD_} to the desired value.
>> @end table
>>
>> @end deftypefun
>>
>
>
> --
> Cheers,
> Carlos.