[v6,0/3] malloc: tcache improvements

Message ID 20250415134920.287189-1-cupertino.miranda@oracle.com (mailing list archive)
Headers
Series malloc: tcache improvements |

Message

Cupertino Miranda April 15, 2025, 1:49 p.m. UTC
  Hi everyone,

This is a new version for this patch series.
Looking forward to your comments.

Cheers,
Cupertino

PS: I realized I made a mistake naming previous versions of this series.
Hope it is no inconvenient to rename it at this point.

Changed from v5:
 - Dropped patches already pushed in upstream master.
 - Adapted code to take advantage of new streamlined __libc_malloc
   function by only dealing with small chunk sizes in this call.
   Remaining large chunk size tcache code is moved to __libc_malloc2 which
   is called by __libc_malloc as a tailcall.
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 (3):
  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/malloc.c | 178 +++++++++++++++++++++++++++++++++---------------
 3 files changed, 156 insertions(+), 56 deletions(-)