diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | malloc/arena.c | 2 | ||||
-rw-r--r-- | malloc/malloc.c | 8 |
3 files changed, 6 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 0ce13b74ff..64da78b09f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ 2006-08-21 Ulrich Drepper <drepper@redhat.com> * malloc/malloc.c (DEFAULT_MMAP_THRESHOLD_MAX): For 32-bit - platforms define as 1MB. For 64-bit platforms as 32MB. The lower + platforms define as 512K. For 64-bit platforms as 32MB. The lower limit is needed to avoid the exploding of the address space requirement for secondary heaps. * malloc/arena.c (HEAP_MAX_SIZE): Define using diff --git a/malloc/arena.c b/malloc/arena.c index e96b3b42a6..6f4b0c497b 100644 --- a/malloc/arena.c +++ b/malloc/arena.c @@ -25,7 +25,7 @@ #define HEAP_MIN_SIZE (32*1024) #ifndef HEAP_MAX_SIZE # ifdef DEFAULT_MMAP_THRESHOLD_MAX -# define HEAP_MAX_SIZE DEFAULT_MMAP_THRESHOLD_MAX +# define HEAP_MAX_SIZE (2 * DEFAULT_MMAP_THRESHOLD_MAX) # else # define HEAP_MAX_SIZE (1024*1024) /* must be a power of two */ # endif diff --git a/malloc/malloc.c b/malloc/malloc.c index 7ad26af069..02f659708d 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1427,12 +1427,12 @@ int __posix_memalign(void **, size_t, size_t); #ifndef DEFAULT_MMAP_THRESHOLD_MAX /* For 32-bit platforms we cannot increase the maximum mmap threshold much because it is also the minimum value for the - maximum heap size and its alignment. Going above 1MB wastes too - much address space. */ + maximum heap size and its alignment. Going above 512k (i.e., 1M + for new heaps) wastes too much address space. */ # if __WORDSIZE == 32 -# define DEFAULT_MMAP_THRESHOLD_MAX (1024 * 1024) +# define DEFAULT_MMAP_THRESHOLD_MAX (512 * 1024) # else -# define DEFAULT_MMAP_THRESHOLD_MAX (8 * 1024 * 1024 * sizeof(long)) +# define DEFAULT_MMAP_THRESHOLD_MAX (4 * 1024 * 1024 * sizeof(long)) # endif #endif |