mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Remove upper limit on tunable MALLOC_MMAP_THRESHOLD
The current limit on MALLOC_MMAP_THRESHOLD is either 1 Mbyte (for 32-bit apps) or 32 Mbytes (for 64-bit apps). This value was set by a patch dated 2006 (15 years ago). Attempts to set the threshold higher are currently ignored. The default behavior is appropriate for many highly parallel applications where many processes or threads are sharing RAM. In other situations where the number of active processes or threads closely matches the number of cores, a much higher limit may be desired by the application designer. By today's standards on personal computers and small servers, 2 Gbytes of RAM per core is commonly available. On larger systems 4 Gbytes or more of RAM is sometimes available. Instead of raising the limit to match current needs, this patch proposes to remove the limit of the tunable, leaving the decision up to the user of a tunable to judge the best value for their needs. This patch does not change any of the defaults for malloc tunables, retaining the current behavior of the dynamic malloc mmap threshold. bugzilla 27801 - Remove upper limit on tunable MALLOC_MMAP_THRESHOLD Reviewed-by: DJ Delorie <dj@redhat.com> malloc/ malloc.c changed do_set_mmap_threshold to remove test for HEAP_MAX_SIZE.
This commit is contained in:
parent
a16c5ab139
commit
0a4df6f534
@ -5330,16 +5330,11 @@ do_set_top_pad (size_t value)
|
|||||||
static __always_inline int
|
static __always_inline int
|
||||||
do_set_mmap_threshold (size_t value)
|
do_set_mmap_threshold (size_t value)
|
||||||
{
|
{
|
||||||
/* Forbid setting the threshold too high. */
|
LIBC_PROBE (memory_mallopt_mmap_threshold, 3, value, mp_.mmap_threshold,
|
||||||
if (value <= heap_max_size () / 2)
|
mp_.no_dyn_threshold);
|
||||||
{
|
mp_.mmap_threshold = value;
|
||||||
LIBC_PROBE (memory_mallopt_mmap_threshold, 3, value, mp_.mmap_threshold,
|
mp_.no_dyn_threshold = 1;
|
||||||
mp_.no_dyn_threshold);
|
return 1;
|
||||||
mp_.mmap_threshold = value;
|
|
||||||
mp_.no_dyn_threshold = 1;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static __always_inline int
|
static __always_inline int
|
||||||
|
Loading…
Reference in New Issue
Block a user