public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "nicolas at freedelity dot be" <sourceware-bugzilla@sourceware.org>
To: glibc-bugs@sourceware.org
Subject: [Bug malloc/30579] trim_threshold in realloc lead to high memory usage
Date: Thu, 22 Jun 2023 15:10:40 +0000	[thread overview]
Message-ID: <bug-30579-131-6zscPMb4dF@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-30579-131@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=30579

--- Comment #2 from Nicolas Dusart <nicolas at freedelity dot be> ---
I apologize for any previous misunderstanding regarding the use of
trim_threshold in relation to heap fragmentation. I incorrectly assumed that it
was primarily relevant to the mmap use case, based on the message of the
commit.

I still have concerns about the recent change to the realloc function and I
would argue that it doesn't significantly mitigate fragmentation.

There are two primary reasons for my concern:

- Memory "freed" by realloc is not immediately accessible, even to the process
itself.
- The memory that is reallocated isn't necessarily positioned at the top of the
heap.

Consequently, we tend to accumulate more and more memory blocks that become
stagnant (in use cases where we initially allocate more memory than needed and
then realloc to the precise size). These blocks can't even be released back to
the system if their combined size exceeds the trim_threshold, since they don't
constitute a contiguous space at the top of the heap.

I maintain that the use of trim_threshold in this context is not ideal. We
might still want to retain the default threshold of 128K to prevent fragmenting
memory returned to the system, while also preventing the accumulation of
stagnant blocks up to 128K in our memory space.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2023-06-22 15:10 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-22 13:54 [Bug malloc/30579] New: " nicolas at freedelity dot be
2023-06-22 14:20 ` [Bug malloc/30579] " siddhesh at sourceware dot org
2023-06-22 15:10 ` nicolas at freedelity dot be [this message]
2023-06-28  7:56 ` nicolas at freedelity dot be
2023-06-28 16:31 ` siddhesh at sourceware dot org
2023-07-06 15:38 ` cvs-commit at gcc dot gnu.org
2023-07-06 15:40 ` cvs-commit at gcc dot gnu.org
2023-07-06 15:42 ` siddhesh at sourceware dot org
2023-07-06 16:09 ` nicolas at freedelity dot be

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-30579-131-6zscPMb4dF@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=glibc-bugs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).