mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-09 02:40:08 +00:00
Add catch-all alloc retry probe.
for ChangeLog * malloc/arena.c (arena_get_retry): Add memory_arena_retry probe. * manual/probes.texi: Document it.
This commit is contained in:
parent
35fed6f15d
commit
655673f312
@ -1,5 +1,8 @@
|
||||
2013-09-20 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* malloc/arena.c (arena_get_retry): Add memory_arena_retry probe.
|
||||
* manual/probes.texi: Document it.
|
||||
|
||||
* malloc/malloc.c (__libc_malloc): Add memory_malloc_retry probe.
|
||||
(__libc_realloc): Add memory_realloc_retry probe.
|
||||
(__libc_memalign): Add memory_memalign_retry probe.
|
||||
|
@ -932,6 +932,7 @@ arena_get2(mstate a_tsd, size_t size, mstate avoid_arena)
|
||||
static mstate
|
||||
arena_get_retry (mstate ar_ptr, size_t bytes)
|
||||
{
|
||||
LIBC_PROBE (memory_arena_retry, 2, bytes, ar_ptr);
|
||||
if(ar_ptr != &main_arena) {
|
||||
(void)mutex_unlock(&ar_ptr->mutex);
|
||||
ar_ptr = &main_arena;
|
||||
|
@ -48,6 +48,18 @@ corresponding two-argument functions, so that in all of these probes the
|
||||
user-requested allocation size is in @var{$arg1}.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe memory_arena_retry (size_t @var{$arg1}, void *@var{$arg2})
|
||||
This probe is triggered within @code{arena_get_retry} (the function
|
||||
called to select the alternate arena in which to retry an allocation
|
||||
that failed on the first attempt), before the selection of an alternate
|
||||
arena. This probe is redundant, but much easier to use when it's not
|
||||
important to determine which of the various memory allocation functions
|
||||
is failing to allocate on the first try. Argument @var{$arg1} is the
|
||||
same as in the function-specific probes, except for extra room for
|
||||
padding introduced by functions that have to ensure stricter alignment.
|
||||
Argument @var{$arg2} is the arena in which allocation failed.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe memory_arena_new (void *@var{$arg1}, size_t @var{$arg2})
|
||||
This probe is triggered when @code{malloc} allocates and initializes an
|
||||
additional arena (not the main arena), but before the arena is assigned
|
||||
|
Loading…
Reference in New Issue
Block a user