This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PING][PATCH] Update documentation after dropping PER_THREAD conditional.
- From: OndÅej BÃlka <neleai at seznam dot cz>
- To: Siddhesh Poyarekar <siddhesh at redhat dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 17 Dec 2013 10:56:01 +0100
- Subject: [PING][PATCH] Update documentation after dropping PER_THREAD conditional.
- Authentication-results: sourceware.org; auth=none
- References: <20131206000402 dot GA17751 at domone dot podge> <20131206034209 dot GD14845 at spoyarek dot pnq dot redhat dot com> <20131208001534 dot GA4336 at domone dot podge> <20131209052423 dot GB1688 at spoyarek dot pnq dot redhat dot com> <20131209103246 dot GA15704 at domone dot podge>
ping
On Mon, Dec 09, 2013 at 11:32:46AM +0100, OndÅej BÃlka wrote:
> On Mon, Dec 09, 2013 at 10:54:23AM +0530, Siddhesh Poyarekar wrote:
> >
> > Also, I just noticed that you need to remove the
> > 'memory_arena_reuse_realloc' systemtap probe documentation from
> > probes.texi.
> >
>
> Not only that, documentation describes a non per-thread behaviour that
> can be removed.
>
> * manual/probes.texi: Remove cases when per-thread arenas are
> disabled.
>
> diff --git a/manual/probes.texi b/manual/probes.texi
> index 7ba7bd3..c8018a0 100644
> --- a/manual/probes.texi
> +++ b/manual/probes.texi
> @@ -23,9 +23,7 @@ arguments.
> @section Memory Allocation Probes
>
> These probes are designed to signal relatively unusual situations within
> -the virtual memory subsystem of @theglibc{}. The location and the
> -availability of some probes depend on whether per-thread arenas are
> -enabled (the default) or disabled at the time @theglibc{} is compiled.
> +the virtual memory subsystem of @theglibc{}.
>
> @deftp Probe memory_sbrk_more (void *@var{$arg1}, size_t @var{$arg2})
> This probe is triggered after the main arena is extended by calling
> @@ -116,7 +114,7 @@ arena to reuse, and (temporarily) reserved it for exclusive use.
> Argument @var{$arg1} is a pointer to the newly-selected arena, and
> @var{$arg2} is a pointer to the arena previously used by that thread.
>
> -When per-thread arenas are enabled, this occurs within
> +This occurs within
> @code{reused_arena}, right after the mutex mentioned in probe
> @code{memory_arena_reuse_wait} is acquired; argument @var{$arg1} will
> point to the same arena. In this configuration, this will usually only
> @@ -125,11 +123,6 @@ the main arena, but a subsequent allocation from it fails: then, and
> only then, may we switch to another arena to retry that allocations, and
> for further allocations within that thread.
>
> -When per-thread arenas are disabled, this occurs within
> -@code{arena_get2}, whenever the mutex for the previously-selected arena
> -cannot be immediately acquired.
> -@end deftp
> -
> @deftp Probe memory_arena_reuse_wait (void *@var{$arg1}, void *@var{$arg2}, void *@var{$arg3})
> This probe is triggered when @code{malloc} is about to wait for an arena
> to become available for reuse. Argument @var{$arg1} holds a pointer to
> @@ -137,7 +130,7 @@ the mutex the thread is going to wait on, @var{$arg2} is a pointer to a
> newly-chosen arena to be reused, and @var{$arg3} is a pointer to the
> arena previously used by that thread.
>
> -When per-thread arenas are enabled, this occurs within
> +This occurs within
> @code{reused_arena}, when a thread first tries to allocate memory or
> needs a retry after a failure to allocate from the main arena, there
> isn't any free arena, the maximum number of arenas has been reached, and
> @@ -145,29 +138,10 @@ an existing arena was chosen for reuse, but its mutex could not be
> immediately acquired. The mutex in @var{$arg1} is the mutex of the
> selected arena.
>
> -When per-thread arenas are disabled, this occurs within
> -@code{arena_get2}, when a thread first tries to allocate memory or the
> -mutex of the arena it previously used could not be immediately acquired,
> -and none of the existing arenas could be immediately reserved for
> -exclusive use. The mutex in @var{$arg1} is that of the list of arenas,
> -and since the arena won't have been selected yet, @var{$arg2} will be
> -@code{NULL}.
> -@end deftp
> -
> @deftp Probe memory_arena_reuse_free_list (void *@var{$arg1})
> This probe is triggered when @code{malloc} has chosen an arena that is
> in the free list for use by a thread, within the @code{get_free_list}
> -function. This probe is only available when @code{malloc} is configured
> -to use per-thread arenas. The argument @var{$arg1} holds a pointer to
> -the selected arena.
> -@end deftp
> -
> -@deftp Probe memory_arena_reuse_realloc (void *@var{$arg1})
> -This probe is triggered within @code{realloc}, as the arena of the
> -current thread is changed to match that in which the given address was
> -allocated. This probe is @emph{not} available when @code{malloc} is
> -configured to use per-thread arenas. The argument @var{$arg1} holds a
> -pointer to the newly-selected arena.
> +function. The argument @var{$arg1} holds a pointer to the selected arena.
> @end deftp
>
> @deftp Probe memory_mallopt (int @var{$arg1}, int @var{$arg2})
> @@ -237,8 +211,7 @@ This probe is triggered shortly after the @code{memory_mallopt} probe,
> when the parameter to be changed is @code{M_ARENA_TEST}, and the
> requested value is in an acceptable range. Argument @var{$arg1} is the
> requested value, and @var{$arg2} is the previous value of this
> -@code{malloc} parameter. This probe is only available when per-thread
> -arenas are enabled.
> +@code{malloc} parameter.
> @end deftp
>
> @deftp Probe memory_mallopt_arena_max (int @var{$arg1}, int @var{$arg2})
> @@ -246,8 +219,7 @@ This probe is triggered shortly after the @code{memory_mallopt} probe,
> when the parameter to be changed is @code{M_ARENA_MAX}, and the
> requested value is in an acceptable range. Argument @var{$arg1} is the
> requested value, and @var{$arg2} is the previous value of this
> -@code{malloc} parameter. This probe is only available when per-thread
> -arenas are enabled.
> +@code{malloc} parameter.
> @end deftp
>
> @deftp Probe memory_mallopt_free_dyn_thresholds (int @var{$arg1}, int @var{$arg2})
--
not enough memory, go get system upgrade