Re-enable spinlocks
authorMarco Costalba <mcostalba@gmail.com>
Sat, 7 Mar 2015 07:36:23 +0000 (08:36 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 7 Mar 2015 07:38:26 +0000 (08:38 +0100)
For branch C++11, that doe snot run on fishtest,
there is no need of this kludge, let only master
have it.

No functional change.

src/thread.h
src/types.h

index a639cf7..b6809f4 100644 (file)
@@ -39,7 +39,7 @@ const size_t MAX_THREADS = 128;
 const size_t MAX_SPLITPOINTS_PER_THREAD = 8;
 const size_t MAX_SLAVES_PER_SPLITPOINT = 4;
 
-#if !defined(NO_SPINLOCK)
+
 /// Spinlock class wraps low level atomic operations to provide a spin lock
 
 class Spinlock {
@@ -55,18 +55,6 @@ public:
   void release() { lock.store(1, std::memory_order_release); }
 };
 
-#else
-
-class Spinlock {
-
-  std::mutex mutex;
-
-public:
-  void acquire() { mutex.lock(); }
-  void release() { mutex.unlock(); }
-};
-
-#endif
 
 /// SplitPoint struct stores information shared by the threads searching in
 /// parallel below the same split point. It is populated at splitting time.
index c807854..eebd69e 100644 (file)
@@ -31,9 +31,6 @@
 /// -DNO_PREFETCH | Disable use of prefetch asm-instruction. You may need this to
 ///               | run on some very old machines.
 ///
-/// -DNO_SPINLOCK | Use mutex instead of spinlocks. This is much slower, so you
-///               | really don't want to do this in general case.
-///
 /// -DUSE_POPCNT  | Add runtime support for use of popcnt asm-instruction. Works
 ///               | only in 64-bit mode and requires hardware with popcnt support.
 ///