From ef4968d9e7c3b90c1499a32a38fdc34f4da22f41 Mon Sep 17 00:00:00 2001 From: Edward Tomasz Napierala Date: Sat, 18 Nov 2017 13:21:22 +0000 Subject: [PATCH] Increase rtld initial memory pool size from 32kB to 128kB. The old value was probably fine back in 1998, when that code was imported (although the comments still mention VAX, which was quite obsolete by then); now, however, it's too small to handle our libc, which results in some additional calls to munmap/mmap later on. Asking for more virtual address space is virtually free, and syscalls are not, thus the change. It was suggested by kib@ that this might be a symptom of a deeper problem. It doesn't only affect libc, though - the change also improves rtld memory management for eg KDE libraries. I guess it's just a natural bloat. MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12834 --- libexec/rtld-elf/malloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rtld-elf/malloc.c b/libexec/rtld-elf/malloc.c index 66938d005a5e..d7934d143174 100644 --- a/libexec/rtld-elf/malloc.c +++ b/libexec/rtld-elf/malloc.c @@ -61,7 +61,7 @@ static int findbucket(); /* * Pre-allocate mmap'ed pages */ -#define NPOOLPAGES (32*1024/pagesz) +#define NPOOLPAGES (128*1024/pagesz) static caddr_t pagepool_start, pagepool_end; static int morepages();