This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[trans-mem] Remove futex support
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: rth at redhat dot com, gcc-patches at gcc dot gnu dot org
- Cc: patrick dot marlier at unine dot ch
- Date: Fri, 26 Mar 2010 11:23:56 -0400
- Subject: [trans-mem] Remove futex support
After fighting with deadlocks and races all week, it was agreed to
remove the futex implementation altogether, since there's not as much
performance to be gained because of the busy loop on the summary lock
(see gtm_rwlock::lock_summary()). It sure beats fixing all the races :).
With this patch we only support the POSIX locking implementation.
OK for branch?
* configure.ac: Remove Linux futex support.
* configure.tgt (config_path): Same.
* config/linux: Remove entire directory.
* configure: Rebuild.
* Makefile.in: Rebuild.
* testsuite/Makefile.in: Rebuild.
Index: configure.ac
===================================================================
--- configure.ac (revision 157626)
+++ configure.ac (working copy)
@@ -166,7 +166,6 @@ AH_BOTTOM(
# Check to see if -pthread or -lpthread is needed. Prefer the former.
# In case the pthread.h system header is not found, this test will fail.
-# ??? Not needed if linux futexes are used.
XPCFLAGS=""
CFLAGS="$CFLAGS -pthread"
AC_LINK_IFELSE(
@@ -196,8 +195,6 @@ case "$host" in
;;
esac
-GCC_LINUX_FUTEX(:)
-
# See if we support thread-local storage.
GCC_CHECK_TLS
@@ -253,7 +250,6 @@ fi
AC_SUBST(link_itm)
AM_CONDITIONAL([ARCH_X86], [test "$ARCH" = x86])
-AM_CONDITIONAL([ARCH_FUTEX], [test $enable_linux_futex = yes])
AC_CONFIG_FILES(Makefile testsuite/Makefile libitm.spec)
AC_OUTPUT
Index: configure.tgt
===================================================================
--- configure.tgt (revision 157626)
+++ configure.tgt (working copy)
@@ -89,12 +89,6 @@ config_path="$ARCH posix generic"
# Other system configury
case "${target}" in
- *-*-linux*)
- if test $enable_linux_futex = yes; then
- config_path="linux/$ARCH linux $config_path"
- fi
- ;;
-
*-*-hpux11*)
# HPUX v11.x requires -lrt to resolve sem_init in libgomp.la
XLDFLAGS="${XLDFLAGS} -lrt"