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


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.

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.


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