- Disable more Intel TSX usage in rwlocks (#1146967).
This commit is contained in:
Carlos O'Donell 2014-09-27 12:31:11 -04:00
parent f4db47775a
commit f60aa2d629
2 changed files with 30 additions and 1 deletions

View File

@ -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

View File

@ -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@redhat.com> - 2.20-5
- Disable more Intel TSX usage in rwlocks (#1146967).
* Fri Sep 26 2014 Carlos O'Donell <carlos@redhat.com> - 2.20-4
- Disable lock elision support for Intel hardware until microcode
updates can be done in early bootup (#1146967).