about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@sourceware.org>2017-06-15 15:12:54 +0530
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2017-06-15 15:12:54 +0530
commit2c0b90ab443abc967cbf75add4f7fde84978cb95 (patch)
tree600ed279223cf8a1e3a28bf623309fe9a51a6f8e
parent0edbf1230131dfeb03d843d2859e2104456fad80 (diff)
downloadglibc-2c0b90ab443abc967cbf75add4f7fde84978cb95.tar.gz
glibc-2c0b90ab443abc967cbf75add4f7fde84978cb95.tar.xz
glibc-2c0b90ab443abc967cbf75add4f7fde84978cb95.zip
Enable tunables by default
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.
-rw-r--r--ChangeLog8
-rw-r--r--INSTALL18
-rw-r--r--NEWS3
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac2
-rw-r--r--manual/install.texi13
6 files changed, 27 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index a2d1f5ade1..833f03ea6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2017-06-15  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+	* configure.ac(--enable-tunables): Enable by default.
+	* configure: Regenerate.
+	* NEWS: Mention change.
+	* manual/install.texi (enable-tunables): Adjust documentation.
+	* INSTALL: Regenerate.
+
 2017-06-14  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	[BZ #18988]
diff --git a/INSTALL b/INSTALL
index 920c4df0ef..a2f5a40b17 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 8d35bd6c95..804c1b92e6 100644
--- a/NEWS
+++ b/NEWS
@@ -95,6 +95,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 4c2922d882..8390f2b86e 100755
--- a/configure
+++ b/configure
@@ -3725,7 +3725,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 3f486d6df4..4c0a18edd9 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 d39d2daacd..cbc912817a 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