diff options
author | fireice-uk <fireice-uk@users.noreply.github.com> | 2017-10-27 17:19:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-27 17:19:00 +0100 |
commit | 91b307859ea97cc1abdb17da01b94919d3521803 (patch) | |
tree | 604e06aac65134610405c75610735e08ac5398a4 /xmrstak/backend/cpu | |
parent | 847831e5f11a31bf2b04bc737534b08d1bb18e91 (diff) | |
parent | b5a7e4eb7f271cf0ae6a6085ee6e2a4466013e17 (diff) | |
download | xmr-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.cpp | 14 |
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; } |