[PATCH v5 0/7] tcache: malloc improvements

Cupertino Miranda cupertino.miranda@oracle.com
Fri Mar 21 12:00:55 GMT 2025


Hi everyone,

New version of the patches after DJ and Wilco reviews.
As in previous version I decided to plot and share mimalloc-bench
results which I will include as attachment in reply to this thread.

Looking forward to your comments.

Cheers,
Cupertino

Changes from v4:
 - Reorganized patches from most general optimizations to large chunk
   caching changes in tcache.
 - Code changes related to recent reviews from Wilco and DJ.
Changes from v3:
 - force inline of _int_free. This might make sense as a generic patch.
 - performance improvements
Changes from v2:
 - Redesign implementation.
 - Dropped strategy to remove old chunks from tcache to a better
   split and consolidate strategy (future patch, still work in
   progress).
 - Fixed regressions in v2. 
Changes from v1:
 - Typo in the assigment to mp_.tcache_bins in do_set_cache_max
   function. Was setting it to MAX_TCACHE_SIZE instead of
   TCACHE_MAX_BINS.
 - Fixed testsuite regressions.


Cupertino Miranda (7):
  malloc: replace _int_free by _int_free_chunk in sysmalloc.
  malloc: optimize initialization
  malloc: force inline for single called functions
  malloc: tcache small optimizations.
  malloc: mangle tcache entries pointers
  malloc: add tcache support for large chunk caching
  malloc: add testing for large tcache support.

 Rules           |  19 +++++
 malloc/Makefile |  15 ++++
 malloc/arena.c  |   2 +-
 malloc/malloc.c | 200 ++++++++++++++++++++++++++++++------------------
 4 files changed, 159 insertions(+), 77 deletions(-)

-- 
2.39.5



More information about the Libc-alpha mailing list