From f60aa2d62981e1e19947d491189b4a2377e347a1 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Sep 27 2014 16:31:11 +0000 Subject: Resolves: #1146967 - Disable more Intel TSX usage in rwlocks (#1146967). --- 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 - 2.20-5 +- Disable more Intel TSX usage in rwlocks (#1146967). + * Fri Sep 26 2014 Carlos O'Donell - 2.20-4 - Disable lock elision support for Intel hardware until microcode updates can be done in early bootup (#1146967).