diff options
Diffstat (limited to 'xmrstak/backend/cpu')
-rw-r--r-- | xmrstak/backend/cpu/hwlocMemory.hpp | 9 | ||||
-rw-r--r-- | xmrstak/backend/cpu/minethd.cpp | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/xmrstak/backend/cpu/hwlocMemory.hpp b/xmrstak/backend/cpu/hwlocMemory.hpp index 719c1bb..69742be 100644 --- a/xmrstak/backend/cpu/hwlocMemory.hpp +++ b/xmrstak/backend/cpu/hwlocMemory.hpp @@ -21,6 +21,13 @@ void bindMemoryToNUMANode( size_t puId ) hwloc_topology_init(&topology); hwloc_topology_load(topology); + if(!hwloc_topology_get_support(topology)->membind->set_thisthread_membind) + { + printer::inst()->print_msg(L0, "hwloc: set_thisthread_membind not supported"); + hwloc_topology_destroy(topology); + return; + } + depth = hwloc_get_type_depth(topology, HWLOC_OBJ_PU); for( size_t i = 0; @@ -45,6 +52,8 @@ void bindMemoryToNUMANode( size_t puId ) } } } + + hwloc_topology_destroy(topology); } #else diff --git a/xmrstak/backend/cpu/minethd.cpp b/xmrstak/backend/cpu/minethd.cpp index eb395a5..625fbe4 100644 --- a/xmrstak/backend/cpu/minethd.cpp +++ b/xmrstak/backend/cpu/minethd.cpp @@ -410,6 +410,8 @@ void minethd::double_work_main() if(affinity >= 0) //-1 means no affinity bindMemoryToNUMANode(affinity); + order_fix.set_value(); + cn_hash_fun_dbl hash_fun; cryptonight_ctx* ctx0; cryptonight_ctx* ctx1; |