This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]