summaryrefslogtreecommitdiffstats
path: root/xmrstak/backend/cpu
diff options
context:
space:
mode:
authorfireice-uk <fireice-uk@users.noreply.github.com>2017-10-27 17:19:00 +0100
committerGitHub <noreply@github.com>2017-10-27 17:19:00 +0100
commit91b307859ea97cc1abdb17da01b94919d3521803 (patch)
tree604e06aac65134610405c75610735e08ac5398a4 /xmrstak/backend/cpu
parent847831e5f11a31bf2b04bc737534b08d1bb18e91 (diff)
parentb5a7e4eb7f271cf0ae6a6085ee6e2a4466013e17 (diff)
downloadxmr-stak-91b307859ea97cc1abdb17da01b94919d3521803.zip
xmr-stak-91b307859ea97cc1abdb17da01b94919d3521803.tar.gz
Merge pull request #69 from psychocrypt/topic-threadAffinity
thread affinity for non cpu backends
Diffstat (limited to 'xmrstak/backend/cpu')
-rw-r--r--xmrstak/backend/cpu/minethd.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/xmrstak/backend/cpu/minethd.cpp b/xmrstak/backend/cpu/minethd.cpp
index 9f18416..1524eca 100644
--- a/xmrstak/backend/cpu/minethd.cpp
+++ b/xmrstak/backend/cpu/minethd.cpp
@@ -110,8 +110,9 @@ minethd::minethd(miner_work& pWork, size_t iNo, bool double_work, bool no_prefet
order_guard.wait();
- if(!thd_setaffinity(oWorkThd.native_handle(), affinity))
- printer::inst()->print_msg(L1, "WARNING setting affinity failed.");
+ if(affinity >= 0) //-1 means no affinity
+ if(!thd_setaffinity(oWorkThd.native_handle(), affinity))
+ printer::inst()->print_msg(L1, "WARNING setting affinity failed.");
}
cryptonight_ctx* minethd::minethd_alloc_ctx()
@@ -259,10 +260,6 @@ std::vector<iBackend*> minethd::thread_starter(uint32_t threadOffset, miner_work
{
jconf::inst()->GetThreadConfig(i, cfg);
- // \todo need thread offset
- minethd* thd = new minethd(pWork, i + threadOffset, cfg.bDoubleMode, cfg.bNoPrefetch, cfg.iCpuAff);
- pvThreads.push_back(thd);
-
if(cfg.iCpuAff >= 0)
{
#if defined(__APPLE__)
@@ -273,8 +270,11 @@ std::vector<iBackend*> minethd::thread_starter(uint32_t threadOffset, miner_work
}
else
printer::inst()->print_msg(L1, "Starting %s thread, no affinity.", cfg.bDoubleMode ? "double" : "single");
+
+ minethd* thd = new minethd(pWork, i + threadOffset, cfg.bDoubleMode, cfg.bNoPrefetch, cfg.iCpuAff);
+ pvThreads.push_back(thd);
}
-
+
return pvThreads;
}
OpenPOWER on IntegriCloud