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 v2] Enable tunables by default


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.


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