This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[patch/21411] tweak realloc/MREMAP comment
- From: DJ Delorie <dj at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 02 May 2017 16:30:43 -0400
- Subject: [patch/21411] tweak realloc/MREMAP comment
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=dj at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 6D4EFC059752
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 6D4EFC059752
I think this subtle change makes the comment match the existing source
better. However, we never actually munmap pages when shrinking mmap'd
chunks... in theory, we could just use munmap() even if mremap is
unavailable, yes? (and even if we make that change, we would then add
a *new* comment documenting that behavior, the old comment still
wouldn't be corect).
IIRC, we don't try to map-copy-unmap such shrinking chunks because
they tend to be very large, and would incur a large cost penalty for a
rare case, where the kernel could just swap out the unneeded pages.
Patch ok? (it's basically just s/reallocated/grown/)
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 068ffc1..aa45626 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -514,9 +514,9 @@ void* __libc_calloc(size_t, size_t);
REALLOC_ZERO_BYTES_FREES is set, realloc with a size argument of
zero (re)allocates a minimum-sized chunk.
- Large chunks that were internally obtained via mmap will always
- be reallocated using malloc-copy-free sequences unless
- the system supports MREMAP (currently only linux).
+ Large chunks that were internally obtained via mmap will always be
+ grown using malloc-copy-free sequences unless the system supports
+ MREMAP (currently only linux).
The old unix realloc convention of allowing the last-free'd chunk
to be used as an argument to realloc is not supported.