aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-08-22 06:42:35 +0000
committerUlrich Drepper <drepper@redhat.com>2006-08-22 06:42:35 +0000
commitbd2c234116f0a5cb022b9566266dc2b29eff9311 (patch)
tree360a4fe2dbc13047172adb292645fa97640b1602
parent* malloc/malloc.c (DEFAULT_MMAP_THRESHOLD_MAX): For 32-bit (diff)
downloadglibc-bd2c234116f0a5cb022b9566266dc2b29eff9311.tar.gz
glibc-bd2c234116f0a5cb022b9566266dc2b29eff9311.tar.bz2
glibc-bd2c234116f0a5cb022b9566266dc2b29eff9311.zip
platforms define as 512K. For 64-bit platforms as 32MB. The lower
-rw-r--r--ChangeLog2
-rw-r--r--malloc/arena.c2
-rw-r--r--malloc/malloc.c8
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