NUMA for 9 threads or more

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
This commit is contained in:
Peter Zsifkovits
2018-09-04 13:36:42 +02:00
committed by Stéphane Nicolet
parent 9fff272209
commit bc3b148d57
3 changed files with 3 additions and 2 deletions

View File

@@ -100,6 +100,7 @@ Pascal Romaret
Pasquale Pigazzini (ppigazzini) Pasquale Pigazzini (ppigazzini)
Patrick Jansen (mibere) Patrick Jansen (mibere)
pellanda pellanda
Peter Zsifkovits (CoffeeOne)
Ralph Stößer (Ralph Stoesser) Ralph Stößer (Ralph Stoesser)
Raminder Singh Raminder Singh
renouve renouve

View File

@@ -98,7 +98,7 @@ void Thread::idle_loop() {
// some Windows NUMA hardware, for instance in fishtest. To make it simple, // 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 // just check if running threads are below a threshold, in this case all this
// NUMA machinery is not needed. // NUMA machinery is not needed.
if (Options["Threads"] >= 8) if (Options["Threads"] > 8)
WinProcGroup::bindThisThread(idx); WinProcGroup::bindThisThread(idx);
while (true) while (true)

View File

@@ -87,7 +87,7 @@ void TranspositionTable::clear() {
threads.push_back(std::thread([this, idx]() { threads.push_back(std::thread([this, idx]() {
// Thread binding gives faster search on systems with a first-touch policy // Thread binding gives faster search on systems with a first-touch policy
if (Options["Threads"] >= 8) if (Options["Threads"] > 8)
WinProcGroup::bindThisThread(idx); WinProcGroup::bindThisThread(idx);
// Each thread will zero its part of the hash table // Each thread will zero its part of the hash table