Message ID | 1497463683-18434-1-git-send-email-siddhesh@sourceware.org |
---|---|
State | New |
Headers | show |
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.
On 14/06/17 19:08, Siddhesh Poyarekar 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. note that gen-tunables.awk does not work with gawk 3.1.8 because it uses multi-dimensional arrays so this broke the build for me on x86.
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