This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/2] Document the M_ARENA_* mallopt parameters
On Tuesday 18 October 2016 12:45 PM, Michael Kerrisk wrote:
> So my reading from malloc/malloc.c:
>
> #define NARENAS_FROM_NCORES(n) ((n) * (sizeof (long) == 4 ? 2 : 8))
> .arena_test = NARENAS_FROM_NCORES (1)
>
> So, the default value for this parameter is 2 on systems where
> sizeof(long) is 4; otherwise the default value is 8.
That is correct.
> So, IIUC, the default value of this parameter is 0, meaning that there
> is no limit on the number of arenas that can be created. Do you
> confirm, Siddhesh?
No, the default is a function of the number of cores using the
NARENAS_FROM_NCORES macro. That is, 2 * (number of cores) where
sizeof(long) == 4 and 8 * (number of cores) otherwise. If the number of
cores is not available (i.e. we can't read this info for some reason)
then we default to 4 and 16 respectively, i.e. assume 2 cores.
Note that this default only comes into force once the number of arenas
cross arena_test.
> Siddhesh, in case you want to use any of my wordings (assuming they
> are correct), I place them in the public domain. (The text will also
> land in the mallopt(3) manual page.)
Thanks.
Siddhesh