This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2] Enable tunables by default
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Siddhesh Poyarekar <siddhesh at sourceware dot org>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 14 Jun 2017 12:13:17 -0700
- Subject: Re: [PATCH v2] Enable tunables by default
- Authentication-results: sourceware.org; auth=none
- References: <1497463683-18434-1-git-send-email-siddhesh@sourceware.org>
On Wed, Jun 14, 2017 at 11:08 AM, Siddhesh Poyarekar
<siddhesh@sourceware.org> wrote:
> All of the major architectures are adopting tunables as a way to add
> tuning to the library, from hwcap_mask for aarch64 to HLE for s390 and
> ifunc and cache geometry for x86. Given this adoption and the fact
> that we don't want additional tuning knobs to be added outside of
> tunables, it makes sense to enable tunables by default using this
> trivial patch.
>
> Smoke tested on x86 to ensure that tunables code was built without
> specifying it as a configure flag. I have kept it as --enabled and
> not changed it to --disable since we want to still keep the option of
> different kinds of front-ends for tunables.
>
> * configure.ac(--enable-tunables): Enable by default.
> * configure: Regenerate.
> * NEWS: Mention change.
> * manual/install.texi (enable-tunables): Adjust documentation.
> * INSTALL: Regenerate.
> ---
> INSTALL | 18 ++++++++----------
> NEWS | 3 +++
> configure | 2 +-
> configure.ac | 2 +-
> manual/install.texi | 13 ++++++-------
> 5 files changed, 19 insertions(+), 19 deletions(-)
>
> diff --git a/INSTALL b/INSTALL
> index 920c4df..a2f5a40 100644
> --- a/INSTALL
> +++ b/INSTALL
> @@ -177,18 +177,16 @@ will be used, and CFLAGS sets optimization options for the compiler.
>
> '--enable-tunables'
> Tunables support allows additional library parameters to be
> - customized at runtime. This is an experimental feature and affects
> - startup time and is thus disabled by default. This option can take
> - the following values:
> -
> - 'no'
> - This is the default if the option is not passed to configure.
> - This disables tunables.
> + customized at runtime. This feature is enabled by default. This
> + option can take the following values:
>
> 'yes'
> - This is the default if the option is passed to configure.
> - This enables tunables and selects the default frontend
> - (currently 'valstring').
> + This is the default if no option is passed to configure. This
> + enables tunables and selects the default frontend (currently
> + 'valstring').
> +
> + 'no'
> + This option disables tunables.
>
> 'valstring'
> This enables tunables and selects the 'valstring' frontend for
> diff --git a/NEWS b/NEWS
> index 991ee63..9afd6b2 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -91,6 +91,9 @@ Version 2.26
> as atomic variables to try to implement Dekker's mutual exclusion
> algorithm).
>
> +* The tunables feature is now enabled by default. This allows users to tweak
> + behavior of the GNU C Library using the GLIBC_TUNABLES environment variable.
> +
> Security related changes:
>
> * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
> diff --git a/configure b/configure
> index 422482f..f9067e2 100755
> --- a/configure
> +++ b/configure
> @@ -3724,7 +3724,7 @@ fi
> if test "${enable_tunables+set}" = set; then :
> enableval=$enable_tunables; have_tunables=$enableval
> else
> - have_tunables=no
> + have_tunables=yes
> fi
>
>
> diff --git a/configure.ac b/configure.ac
> index 7f43042..fa6a883 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -436,7 +436,7 @@ AC_ARG_ENABLE([tunables],
> [AS_HELP_STRING([--enable-tunables],
> [Enable tunables support. Known values are 'yes', 'no' and 'valstring'])],
> [have_tunables=$enableval],
> - [have_tunables=no])
> + [have_tunables=yes])
> AC_SUBST(have_tunables)
> if test "$have_tunables" = yes; then
> AC_DEFINE(HAVE_TUNABLES)
> diff --git a/manual/install.texi b/manual/install.texi
> index d39d2da..cbc9128 100644
> --- a/manual/install.texi
> +++ b/manual/install.texi
> @@ -208,18 +208,17 @@ Use this option to disable the vector math library.
>
> @item --enable-tunables
> Tunables support allows additional library parameters to be customized at
> -runtime. This is an experimental feature and affects startup time and is thus
> -disabled by default. This option can take the following values:
> +runtime. This feature is enabled by default. This option can take the
> +following values:
>
> @table @code
> -@item no
> -This is the default if the option is not passed to configure. This disables
> -tunables.
> -
> @item yes
> -This is the default if the option is passed to configure. This enables tunables
> +This is the default if no option is passed to configure. This enables tunables
> and selects the default frontend (currently @samp{valstring}).
>
> +@item no
> +This option disables tunables.
> +
> @item valstring
> This enables tunables and selects the @samp{valstring} frontend for tunables.
> This frontend allows users to specify tunables as a colon-separated list in a
> --
> 2.7.4
>
LGTM. Thanks.
--
H.J.