Commit Graph

18 Commits

Author SHA1 Message Date
Florian Weimer
ac3ed168d0 malloc: Remove check_action variable [BZ #21754]
Clean up calls to malloc_printerr and trim its argument list.

This also removes a few bits of work done before calling
malloc_printerr (such as unlocking operations).

The tunable/environment variable still enables the lightweight
additional malloc checking, but mallopt (M_CHECK_ACTION)
no longer has any effect.
2017-08-30 20:08:34 +02:00
DJ Delorie
d5c3fafc43 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.
2017-07-06 13:37:30 -04:00
Siddhesh Poyarekar
b31b4d6ae5 User manual documentation for tunables
Create a new node for tunables documentation and add notes for the
malloc tunables.

	* manual/tunables.texi: New chapter.
	* manual/Makefile (chapters): Add it.
	* manual/probes.texi (@node): Point to the Tunables chapter.
2016-12-31 23:49:24 +05:30
Rical Jasan
8e52276ef4 Manual typos: Internal probes
2016-05-06  Rical Jasan  <ricaljasan@pacific.net>

	* manual/probes.texi: Fix typos in the manual.
2016-10-06 12:26:35 +05:30
Ondřej Bílka
cf822e3c94 Fix two spaces after sentence.
Minor formatting fix that was carried by issuing
sed -e"s/\. \([A-Z]\)/.  \1/" followed by editing result.
2014-02-26 23:27:38 +01:00
Will Newton
d35f1e8073 manual/probes.texi: Use "triggered" instead of "hit"
Use the term "triggered" instead of "hit" when talking about probe
points.

ChangeLog:

2014-02-11  Will Newton  <will.newton@linaro.org>

	* manual/probes.texi (Mathematical Function Probes): Use
	"triggered" instead of "hit".
2014-02-11 10:21:00 +00:00
Will Newton
7b3436d468 manual/probes.texi: Add documentation of setjmp/longjmp probes
Add some documentation of the setjmp, longjmp and longjmp_target
Systemtap probe points.

ChangeLog:

2014-02-11  Will Newton  <will.newton@linaro.org>

	* manual/probes.texi (Internal Probes): Add documentation
	of setjmp, longjmp and longjmp_target probes.
2014-02-11 10:19:24 +00:00
Ondřej Bílka
51942fcadb Add missing deftp to fix commit 4d84e6addd. 2013-12-18 14:29:47 +01:00
Ondřej Bílka
4d84e6addd Update documentation after dropping PER_THREAD conditional.
In probes documentation we described what happens when PER_THREAD is
disabled which is now not relevant.
2013-12-18 11:18:19 +01:00
Ondřej Bílka
10ad46bc65 Consolidate valloc/pvalloc code.
To make malloc code more maintainable we make malloc and pvalloc share
logic with memalign.
2013-11-20 15:46:02 +01:00
Siddhesh Poyarekar
f3fd2628d8 Add systemtap probe markers for sin, cos, asin and acos 2013-11-20 07:46:48 +05:30
Siddhesh Poyarekar
10e1cf6b73 Add systemtap markers to math function slow paths
Add systemtap probes to various slow paths in libm so that application
developers may use systemtap to find out if their applications are
hitting these slow paths.  We have added probes for pow, exp, log,
tan, atan and atan2.
2013-10-11 22:37:53 +05:30
Alexandre Oliva
322dea0838 Add malloc probes for sbrk and heap resizing.
for ChangeLog

	* malloc/arena.c (new_heap): New memory_heap_new probe.
	(grow_heap): New memory_heap_more probe.
	(shrink_heap): New memory_heap_less probe.
	(heap_trim): New memory_heap_free probe.
	* malloc/malloc.c (sysmalloc): New memory_sbrk_more probe.
	(systrim): New memory_sbrk_less probe.
	* manual/probes.texi: Document them.
2013-09-20 11:54:58 -03:00
Alexandre Oliva
655673f312 Add catch-all alloc retry probe.
for ChangeLog

	* malloc/arena.c (arena_get_retry): Add memory_arena_retry probe.
	* manual/probes.texi: Document it.
2013-09-20 11:50:51 -03:00
Alexandre Oliva
35fed6f15d Add probes for malloc retries.
for ChangeLog

	* malloc/malloc.c (__libc_malloc): Add memory_malloc_retry probe.
	(__libc_realloc): Add memory_realloc_retry probe.
	(__libc_memalign): Add memory_memalign_retry probe.
	(__libc_valloc): Add memory_valloc_retry probe.
	(__libc_pvalloc): Add memory_pvalloc_retry probe.
	(__libc_calloc): Add memory_calloc_retry probe.
	* manual/probes.texi: Document them.
2013-09-20 11:50:08 -03:00
Alexandre Oliva
6999d38c95 Add probes for malloc arena changes.
for ChangeLog

	* malloc/arena.c (get_free_list): Add probe
	memory_arena_reuse_free_list.
	(reused_arena) [PER_THREAD]: Add probes memory_arena_reuse_wait
	and memory_arena_reuse.
	(arena_get2) [!PER_THREAD]: Likewise.
	* malloc/malloc.c (__libc_realloc) [!PER_THREAD]: Add probe
	memory_arena_reuse_realloc.
	* manual/probes.texi: Document them.
2013-09-20 11:48:45 -03:00
Alexandre Oliva
0653427fdb Add probes for all changes to malloc options.
for ChangeLog

	* malloc/malloc.c (__libc_free): Add
	memory_mallopt_free_dyn_thresholds probe.
	(__libc_mallopt): Add multiple memory_mallopt probes.
	* manual/probes.texi: Document them.
2013-09-20 11:42:28 -03:00
Alexandre Oliva
3ea5be5436 Add first set of memory probes.
for ChangeLog

	* malloc/malloc.c: Include stap-probe.h.
	(__libc_mallopt): Add memory_mallopt probe.
	* malloc/arena.c (_int_new_arena): Add memory_arena_new probe.
	* manual/probes.texi: New.
	* manual/Makefile (chapters): Add probes.
	* manual/threads.texi: Set next node.
2013-09-20 11:10:54 -03:00