From: Dev Jain Date: Wed, 10 Dec 2025 14:56:37 +0000 (+0000) Subject: malloc: remove mallopt fastbin stats X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80ee32910f848a17e067965d195336180155e9ea;p=thirdparty%2Fglibc.git malloc: remove mallopt fastbin stats In preparation for removal of fastbins, remove all fastbin code from mallopt. Reviewed-by: DJ Delorie --- diff --git a/malloc/malloc.c b/malloc/malloc.c index fa854fc4b8..99aa566277 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -660,12 +660,9 @@ void* __libc_valloc(size_t); arena: current total non-mmapped bytes allocated from system ordblks: the number of free chunks - smblks: the number of fastbin blocks (i.e., small chunks that - have been freed but not reused or consolidated) hblks: current number of mmapped regions hblkhd: total bytes held in mmapped regions usmblks: always 0 - fsmblks: total bytes held in fastbin blocks uordblks: current total allocated space (normal or mmapped) fordblks: total free space keepcost: the maximum number of bytes that could ideally be released @@ -5041,9 +5038,7 @@ int_mallinfo (mstate av, struct mallinfo2 *m) mbinptr b; mchunkptr p; INTERNAL_SIZE_T avail; - INTERNAL_SIZE_T fastavail; int nblocks; - int nfastblocks; check_malloc_state (av); @@ -5051,26 +5046,6 @@ int_mallinfo (mstate av, struct mallinfo2 *m) avail = chunksize (av->top); nblocks = 1; /* top always exists */ - /* traverse fastbins */ - nfastblocks = 0; - fastavail = 0; - - for (i = 0; i < NFASTBINS; ++i) - { - for (p = fastbin (av, i); - p != NULL; - p = REVEAL_PTR (p->fd)) - { - if (__glibc_unlikely (misaligned_chunk (p))) - malloc_printerr ("int_mallinfo(): " - "unaligned fastbin chunk detected"); - ++nfastblocks; - fastavail += chunksize (p); - } - } - - avail += fastavail; - /* traverse regular bins */ for (i = 1; i < NBINS; ++i) { @@ -5082,12 +5057,10 @@ int_mallinfo (mstate av, struct mallinfo2 *m) } } - m->smblks += nfastblocks; m->ordblks += nblocks; m->fordblks += avail; m->uordblks += av->system_mem - avail; m->arena += av->system_mem; - m->fsmblks += fastavail; if (av == &main_arena) { m->hblks = mp_.n_mmaps; @@ -5128,11 +5101,11 @@ __libc_mallinfo (void) m.arena = m2.arena; m.ordblks = m2.ordblks; - m.smblks = m2.smblks; + m.smblks = 0; m.hblks = m2.hblks; m.hblkhd = m2.hblkhd; m.usmblks = m2.usmblks; - m.fsmblks = m2.fsmblks; + m.fsmblks = 0; m.uordblks = m2.uordblks; m.fordblks = m2.fordblks; m.keepcost = m2.keepcost; diff --git a/malloc/malloc.h b/malloc/malloc.h index 6de9ee8a7a..f3b0574041 100644 --- a/malloc/malloc.h +++ b/malloc/malloc.h @@ -83,11 +83,11 @@ struct mallinfo { int arena; /* non-mmapped space allocated from system */ int ordblks; /* number of free chunks */ - int smblks; /* number of fastbin blocks */ + int smblks; /* number of fastbin blocks (deprecated) */ int hblks; /* number of mmapped regions */ int hblkhd; /* space in mmapped regions */ int usmblks; /* always 0, preserved for backwards compatibility */ - int fsmblks; /* space available in freed fastbin blocks */ + int fsmblks; /* space available in freed fastbin blocks (deprecated) */ int uordblks; /* total allocated space */ int fordblks; /* total free space */ int keepcost; /* top-most, releasable (via malloc_trim) space */ @@ -100,11 +100,11 @@ struct mallinfo2 { size_t arena; /* non-mmapped space allocated from system */ size_t ordblks; /* number of free chunks */ - size_t smblks; /* number of fastbin blocks */ + size_t smblks; /* number of fastbin blocks (deprecated) */ size_t hblks; /* number of mmapped regions */ size_t hblkhd; /* space in mmapped regions */ size_t usmblks; /* always 0, preserved for backwards compatibility */ - size_t fsmblks; /* space available in freed fastbin blocks */ + size_t fsmblks; /* space available in freed fastbin blocks (deprecated) */ size_t uordblks; /* total allocated space */ size_t fordblks; /* total free space */ size_t keepcost; /* top-most, releasable (via malloc_trim) space */