This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2] Enable tunables by default
- From: Siddhesh Poyarekar <siddhesh at sourceware dot org>
- To: libc-alpha at sourceware dot org
- Date: Wed, 14 Jun 2017 23:38:03 +0530
- Subject: [PATCH v2] Enable tunables by default
- Authentication-results: sourceware.org; auth=none
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