NUMA for 9 threads or more
authorPeter Zsifkovits <peter.zsifkovits@gmx.at>
Tue, 4 Sep 2018 11:36:42 +0000 (13:36 +0200)
committerStéphane Nicolet <cassio@free.fr>
Thu, 25 Oct 2018 21:03:25 +0000 (23:03 +0200)
Enable numa machinery only for STRICTLY MORE than 8 threads. Reason for this
change is that nowadays SMP tests are always done with 8 threads. That is a
problem for multi-socket Windows machines running on fishtest.

No functional change

AUTHORS
src/thread.cpp
src/tt.cpp

diff --git a/AUTHORS b/AUTHORS
index ba37447..04fc7d0 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -100,6 +100,7 @@ Pascal Romaret
 Pasquale Pigazzini (ppigazzini)
 Patrick Jansen (mibere)
 pellanda
+Peter Zsifkovits (CoffeeOne)
 Ralph Stößer (Ralph Stoesser)
 Raminder Singh
 renouve
index ed7c5f3..42c2596 100644 (file)
@@ -98,7 +98,7 @@ void Thread::idle_loop() {
   // some Windows NUMA hardware, for instance in fishtest. To make it simple,
   // just check if running threads are below a threshold, in this case all this
   // NUMA machinery is not needed.
-  if (Options["Threads"] >= 8)
+  if (Options["Threads"] > 8)
       WinProcGroup::bindThisThread(idx);
 
   while (true)
index 98d5936..4780e2d 100644 (file)
@@ -87,7 +87,7 @@ void TranspositionTable::clear() {
       threads.push_back(std::thread([this, idx]() {
 
           // Thread binding gives faster search on systems with a first-touch policy
-          if (Options["Threads"] >= 8)
+          if (Options["Threads"] > 8)
               WinProcGroup::bindThisThread(idx);
 
           // Each thread will zero its part of the hash table