From 2fb88f10b86c3884046f3318a89500116378ad8c Mon Sep 17 00:00:00 2001 From: XMRig Date: Sun, 28 Jul 2019 10:15:20 +0700 Subject: [PATCH] Fix hwloc deprecation warnings. --- src/crypto/common/VirtualMemory.cpp | 5 +++++ src/crypto/rx/Rx.cpp | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/crypto/common/VirtualMemory.cpp b/src/crypto/common/VirtualMemory.cpp index edacf0df..e3c70dfb 100644 --- a/src/crypto/common/VirtualMemory.cpp +++ b/src/crypto/common/VirtualMemory.cpp @@ -49,7 +49,12 @@ uint32_t xmrig::VirtualMemory::bindToNUMANode(int64_t affinity) const unsigned puId = static_cast(affinity); hwloc_obj_t pu = hwloc_get_pu_obj_by_os_index(topology, puId); + +# if HWLOC_API_VERSION >= 0x20000 + if (pu == nullptr || hwloc_set_membind(topology, pu->nodeset, HWLOC_MEMBIND_BIND, HWLOC_MEMBIND_THREAD | HWLOC_MEMBIND_BYNODESET) < 0) { +# else if (pu == nullptr || hwloc_set_membind_nodeset(topology, pu->nodeset, HWLOC_MEMBIND_BIND, HWLOC_MEMBIND_THREAD) < 0) { +# endif LOG_WARN("CPU #%02u warning: \"can't bind memory\"", puId); } diff --git a/src/crypto/rx/Rx.cpp b/src/crypto/rx/Rx.cpp index cc89fe34..5fc95006 100644 --- a/src/crypto/rx/Rx.cpp +++ b/src/crypto/rx/Rx.cpp @@ -91,7 +91,11 @@ public: hwloc_obj_t node = hwloc_get_numanode_obj_by_os_index(topology, nodeId); if (node) { if (HwlocCpuInfo::has(HwlocCpuInfo::SET_THISTHREAD_MEMBIND)) { +# if HWLOC_API_VERSION >= 0x20000 + hwloc_set_membind(topology, node->nodeset, HWLOC_MEMBIND_BIND, HWLOC_MEMBIND_THREAD | HWLOC_MEMBIND_BYNODESET); +# else hwloc_set_membind_nodeset(topology, node->nodeset, HWLOC_MEMBIND_BIND, HWLOC_MEMBIND_THREAD); +# endif } Platform::setThreadAffinity(static_cast(hwloc_bitmap_first(node->cpuset)));