[glibc/f21] Resolves: #1146967

Carlos O'Donell codonell at fedoraproject.org
Sat Sep 27 16:31:49 UTC 2014


commit f60aa2d62981e1e19947d491189b4a2377e347a1
Author: Carlos O'Donell <carlos at redhat.com>
Date:   Sat Sep 27 12:31:11 2014 -0400

    Resolves: #1146967
    
    - Disable more Intel TSX usage in rwlocks (#1146967).

 glibc-disable-rwlock-elision.patch |   22 ++++++++++++++++++++++
 glibc.spec                         |    9 ++++++++-
 2 files changed, 30 insertions(+), 1 deletions(-)
---
diff --git a/glibc-disable-rwlock-elision.patch b/glibc-disable-rwlock-elision.patch
new file mode 100644
index 0000000..b782da0
--- /dev/null
+++ b/glibc-disable-rwlock-elision.patch
@@ -0,0 +1,22 @@
+diff -urN glibc-2.20.mod/sysdeps/unix/sysv/linux/x86/elision-conf.c glibc-2.20/sysdeps/unix/sysv/linux/x86/elision-conf.c
+--- glibc-2.20.mod/sysdeps/unix/sysv/linux/x86/elision-conf.c	2014-09-27 00:25:46.443462345 -0400
++++ glibc-2.20/sysdeps/unix/sysv/linux/x86/elision-conf.c	2014-09-27 00:29:53.586615813 -0400
+@@ -62,12 +62,16 @@
+ 	      char **argv  __attribute__ ((unused)),
+ 	      char **environ)
+ {
+-  __elision_available = HAS_RTM;
+ #ifdef ENABLE_LOCK_ELISION
++  __elision_available = HAS_RTM;
+   __pthread_force_elision = __libc_enable_secure ? 0 : __elision_available;
+-#endif
+   if (!HAS_RTM)
+     __elision_aconf.retry_try_xbegin = 0; /* Disable elision on rwlocks */
++#else
++  __elision_available = 0;
++  __pthread_force_elision = 0;
++  __elision_aconf.retry_try_xbegin = 0;
++#endif
+ }
+ 
+ #ifdef SHARED
diff --git a/glibc.spec b/glibc.spec
index 525fe13..c15b957 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -1,6 +1,6 @@
 %define glibcsrcdir  glibc-2.20
 %define glibcversion 2.20
-%define glibcrelease 4%{?dist}
+%define glibcrelease 5%{?dist}
 # Pre-release tarballs are pulled in from git using a command that is
 # effectively:
 #
@@ -189,6 +189,9 @@ Patch0047: %{name}-nscd-sysconfig.patch
 # more testing.
 Patch0050: %{name}-rh1124987.patch
 
+# Disable rwlock elision if --enable-lock-elision is not used.
+Patch0051: %{name}-disable-rwlock-elision.patch
+
 ##############################################################################
 #
 # Patches from upstream
@@ -562,6 +565,7 @@ package or when debugging this package.
 %patch2035 -p1
 %patch0050 -p1
 %patch1001 -p1
+%patch0051 -p1
 
 ##############################################################################
 # %%prep - Additional prep required...
@@ -1691,6 +1695,9 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Sat Sep 27 2014 Carlos O'Donell <carlos at redhat.com> - 2.20-5
+- Disable more Intel TSX usage in rwlocks (#1146967).
+
 * Fri Sep 26 2014 Carlos O'Donell <carlos at redhat.com> - 2.20-4
 - Disable lock elision support for Intel hardware until microcode
   updates can be done in early bootup (#1146967).


More information about the scm-commits mailing list