Add per-thread cache to malloc
commitd5c3fafc4307c9b7a4c7d5cb381fcdbfad340bcc
authorDJ Delorie <dj@delorie.com>
Thu, 6 Jul 2017 17:37:30 +0000 (6 13:37 -0400)
committerDJ Delorie <dj@delorie.com>
Thu, 6 Jul 2017 17:37:30 +0000 (6 13:37 -0400)
tree380cfbc329860434d6b29825bd02ba5f0c7d4b30
parent3cefdd7310a5d1fad45648d9346e47df9c185fdc
Add per-thread cache to malloc

* config.make.in: Enable experimental malloc option.
* configure.ac: Likewise.
* configure: Regenerate.
* manual/install.texi: Document it.
* INSTALL: Regenerate.
* malloc/Makefile: Likewise.
* malloc/malloc.c: Add per-thread cache (tcache).
(tcache_put): New.
(tcache_get): New.
(tcache_thread_freeres): New.
(tcache_init): New.
(__libc_malloc): Use cached chunks if available.
(__libc_free): Initialize tcache if needed.
(__libc_realloc): Likewise.
(__libc_calloc): Likewise.
(_int_malloc): Prefill tcache when appropriate.
(_int_free): Likewise.
(do_set_tcache_max): New.
(do_set_tcache_count): New.
(do_set_tcache_unsorted_limit): New.
* manual/probes.texi: Document new probes.
* malloc/arena.c: Add new tcache tunables.
* elf/dl-tunables.list: Likewise.
* manual/tunables.texi: Document them.
* NEWS: Mention the per-thread cache.
13 files changed:
ChangeLog
INSTALL
NEWS
config.make.in
configure
configure.ac
elf/dl-tunables.list
malloc/Makefile
malloc/arena.c
malloc/malloc.c
manual/install.texi
manual/probes.texi
manual/tunables.texi