This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/2] Add framework for tunables


On Mon, Jul 11, 2016 at 9:56 AM, Paul E. Murphy
<murphyp@linux.vnet.ibm.com> wrote:
> I am still reviewing the patch, but the question which pops into
> my head is whether this is sufficient to initialize tunables
> used early on via an init section.

.init section isn't sufficient for IFUNC.

> As implied above, my hope is that the initial patches will enable
> trivial addition tunables for TLE.  I'll port my old patches and
> see how it goes nevertheless.
>
>
> On 07/09/2016 01:37 PM, Siddhesh Poyarekar wrote:
>> The tunables framework allows us to uniformly manage and expose global
>> variables inside glibc as switches to users.  tunables/README has
>> instructions for glibc developers to add new tunables.
>>
>> Tunables support can be enabled by passing the --enable-tunables
>> configure flag to the configure script.  This patch only adds a
>> framework and does not pose any limitations on how tunable values are
>> read from the user.  It also adds environment variables used in malloc
>> behaviour tweaking to the tunables framework as a PoC of the
>> compatibility interface.
>>
>>       * manual/install.texi: Add --enable-tunables option.
>>       * INSTALL: Regenerate.
>>       * Makeconfig (CPPFLAGS): Define TOP_NAMESPACE.
>>       (before-compile): Generate dl-tunable-list.h early.
>>       * config.h.in: Add BUILD_TUNABLES.
>>       * config.make.in: Add build-tunables.
>>       * configure.ac: Add --enable-tunables option.
>>       * configure: Regenerate.
>>       * malloc/arena.c [BUILD_TUNABLES]: Include dl-tunables.h.
>>       Define TUNABLE_NAMESPACE.
>>       (DL_TUNABLE_CALLBACK(set_mallopt_check)): New function.
>>       (ptmalloc_init): Set tunable values.
>>       * malloc/tst-malloc-usable-static.c: New test case.
>>       * malloc/Makefile (tests-static): Add it.
>>       * csu/init-first.c [BUILD_TUNABLES]: Include dl-tunables.h.
>>       (__libc_init_first) [!SHARED]: Initialize tunables for static
>>       binaries.
>>       * scripts/gen-tunables.awk: New file.
>>       * README.tunables: New file.
>>       * elf/Versions (ld): Add __tunable_set_val to GLIBC_PRIVATE
>>       namespace.
>>       * elf/dl-tunable-list.h: New auto-generated file.
>>       * elf/dl-tunables.c: New file.
>>       * elf/dl-tunables.h: New file.
>>       * elf/dl-tunables.list: New file.
>>       * elf/dl-tunable-types.h: New file.
>>       * elf/rtld.c [BUILD_TUNABLES]: Include dl-tunables.h
>>       (process_envvars): Call __tunables_init.
>



-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]