This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PING][PATCH v5 0/6] glibc tunables
- From: Siddhesh Poyarekar <siddhesh at gotplt dot org>
- To: libc-alpha at sourceware dot org
- Cc: Carlos O'Donell <carlos at redhat dot com>
- Date: Thu, 3 Nov 2016 15:56:15 +0530
- Subject: [PING][PATCH v5 0/6] glibc tunables
- Authentication-results: sourceware.org; auth=none
- References: <1477320168-23397-1-git-send-email-siddhesh@sourceware.org>
Ping for 2-6/6, I pushed 1/6 since it is an independent cleanup.
Siddhesh
On Monday 24 October 2016 08:12 PM, Siddhesh Poyarekar wrote:
> Hi,
>
> ... and I'm back!
>
> Here is another updated patch set with suggestions from multiple people
> incorporated, including results from discussions at the GNU Tools Cauldron last
> month.
>
> - I had inadvertently opened a hole with MALLOC_CHECK_ where it could be read
> in setuid binaries even if /etc/suid-debug was not present. This is now
> fixed.
>
> - __tunables_init is now called *really* early so that tunables are set up
> before apply_irel is called. H. J. will now have to split his patch such
> that his IFUNC resolver looks at both, the tunables and the result of cpuid
> instead of overriding cpuid using tunables. I think this is a good thing
> since it keeps the cpuid information honest and only masks it for the
> specific purpose of IFUNC.
>
> - The very early initialization meant that I needed a new version of __access
> that does not set errno. That's another patch to the patchset. This is an
> internal function, so there is no ABI event here.
>
> - Enhanced the --enable-tunables option (in a separate patch) to accept string
> values other than 'yes' and 'no'. As discussed at Cauldron, this would
> allow us to experiment with different frontends without committing to one
> yet. Right now there is only one frontend, i.e. 'valstring' that allows
> setting tunables using the single GLIBC_TUNABLES environment variable.
>
> - Wrote a manual node for tunables.
>
> As usual, the branch siddhesh/tunables has these patches and any patches they
> may depend on (like the doc changes for malloc).
>
> Siddhesh Poyarekar (6):
> Static inline functions for mallopt helpers
> New internal function __access_noerrno
> Add framework for tunables
> Initialize tunable list with the GLIBC_TUNABLES environment variable
> Enhance --enable-tunables to select tunables frontend at build time
> User manual documentation for tunables
>
> INSTALL | 18 ++
> Makeconfig | 16 ++
> README.tunables | 84 ++++++
> config.h.in | 3 +
> config.make.in | 1 +
> configure | 17 ++
> configure.ac | 10 +
> csu/init-first.c | 2 -
> csu/libc-start.c | 11 +
> elf/Makefile | 7 +
> elf/Versions | 3 +
> elf/dl-support.c | 2 +
> elf/dl-sysdep.c | 8 +
> elf/dl-tunable-types.h | 46 +++
> elf/dl-tunables.c | 435 +++++++++++++++++++++++++++++
> elf/dl-tunables.h | 82 ++++++
> elf/dl-tunables.list | 69 +++++
> elf/rtld.c | 2 +
> include/unistd.h | 6 +
> io/Makefile | 1 +
> io/access.c | 10 +-
> io/access_noerrno.c | 21 ++
> malloc/Makefile | 6 +
> malloc/arena.c | 54 ++++
> malloc/malloc.c | 126 ++++++---
> malloc/tst-malloc-usable-static-tunables.c | 1 +
> malloc/tst-malloc-usable-static.c | 1 +
> malloc/tst-malloc-usable-tunables.c | 1 +
> manual/Makefile | 3 +-
> manual/install.texi | 21 ++
> manual/probes.texi | 2 +-
> manual/tunables.texi | 184 ++++++++++++
> scripts/gen-tunables.awk | 157 +++++++++++
> sysdeps/mach/hurd/access.c | 20 +-
> sysdeps/mach/hurd/dl-sysdep.c | 8 +
> sysdeps/nacl/access.c | 16 +-
> sysdeps/nacl/nacl-interfaces.h | 4 +
> sysdeps/unix/access_noerrno.c | 38 +++
> sysdeps/unix/sysv/linux/generic/access.c | 19 +-
> 39 files changed, 1469 insertions(+), 46 deletions(-)
> create mode 100644 README.tunables
> create mode 100644 elf/dl-tunable-types.h
> create mode 100644 elf/dl-tunables.c
> create mode 100644 elf/dl-tunables.h
> create mode 100644 elf/dl-tunables.list
> create mode 100644 io/access_noerrno.c
> create mode 100644 malloc/tst-malloc-usable-static-tunables.c
> create mode 100644 malloc/tst-malloc-usable-static.c
> create mode 100644 malloc/tst-malloc-usable-tunables.c
> create mode 100644 manual/tunables.texi
> create mode 100644 scripts/gen-tunables.awk
> create mode 100644 sysdeps/unix/access_noerrno.c
>