diff --git a/level_zero/tools/source/sysman/memory/memory.cpp b/level_zero/tools/source/sysman/memory/memory.cpp index 725e1f7dd9..b783850e53 100644 --- a/level_zero/tools/source/sysman/memory/memory.cpp +++ b/level_zero/tools/source/sysman/memory/memory.cpp @@ -10,7 +10,6 @@ #include "level_zero/core/source/device/device.h" #include "level_zero/tools/source/sysman/memory/memory_imp.h" -#include "level_zero/tools/source/sysman/os_sysman.h" namespace L0 { @@ -37,9 +36,6 @@ ze_result_t MemoryHandleContext::init(std::vector &deviceHan } ze_result_t MemoryHandleContext::memoryGet(uint32_t *pCount, zes_mem_handle_t *phMemory) { - std::call_once(initMemoryOnce, [this]() { - this->init(pOsSysman->getDeviceHandles()); - }); uint32_t handleListSize = static_cast(handleList.size()); uint32_t numToCopy = std::min(*pCount, handleListSize); if (0 == *pCount || *pCount > handleListSize) { diff --git a/level_zero/tools/source/sysman/memory/memory.h b/level_zero/tools/source/sysman/memory/memory.h index 128ebdd424..24797d6d41 100644 --- a/level_zero/tools/source/sysman/memory/memory.h +++ b/level_zero/tools/source/sysman/memory/memory.h @@ -9,7 +9,6 @@ #include "level_zero/core/source/device/device.h" #include -#include #include struct _zes_mem_handle_t { @@ -47,7 +46,6 @@ struct MemoryHandleContext { private: void createHandle(ze_device_handle_t deviceHandle); - std::once_flag initMemoryOnce; }; } // namespace L0 diff --git a/level_zero/tools/source/sysman/scheduler/scheduler.cpp b/level_zero/tools/source/sysman/scheduler/scheduler.cpp index 08cdc1561e..d331345af1 100644 --- a/level_zero/tools/source/sysman/scheduler/scheduler.cpp +++ b/level_zero/tools/source/sysman/scheduler/scheduler.cpp @@ -8,7 +8,6 @@ #include "shared/source/helpers/basic_math.h" #include "shared/source/helpers/debug_helpers.h" -#include "level_zero/tools/source/sysman/os_sysman.h" #include "level_zero/tools/source/sysman/scheduler/scheduler_imp.h" class OsScheduler; @@ -40,9 +39,6 @@ void SchedulerHandleContext::init(std::vector &deviceHandles } ze_result_t SchedulerHandleContext::schedulerGet(uint32_t *pCount, zes_sched_handle_t *phScheduler) { - std::call_once(initSchedulerOnce, [this]() { - this->init(pOsSysman->getDeviceHandles()); - }); uint32_t handleListSize = static_cast(handleList.size()); uint32_t numToCopy = std::min(*pCount, handleListSize); if (0 == *pCount || *pCount > handleListSize) { diff --git a/level_zero/tools/source/sysman/scheduler/scheduler.h b/level_zero/tools/source/sysman/scheduler/scheduler.h index 29f8644993..b8666e0d48 100644 --- a/level_zero/tools/source/sysman/scheduler/scheduler.h +++ b/level_zero/tools/source/sysman/scheduler/scheduler.h @@ -12,7 +12,6 @@ #include #include -#include #include #include @@ -52,7 +51,6 @@ struct SchedulerHandleContext : NEO::NonCopyableOrMovableClass { private: void createHandle(zes_engine_type_flag_t engineType, std::vector &listOfEngines, ze_device_handle_t deviceHandle); - std::once_flag initSchedulerOnce; }; } // namespace L0 diff --git a/level_zero/tools/source/sysman/sysman_imp.cpp b/level_zero/tools/source/sysman/sysman_imp.cpp index afe9e4f24f..7f4b8bdfbb 100644 --- a/level_zero/tools/source/sysman/sysman_imp.cpp +++ b/level_zero/tools/source/sysman/sysman_imp.cpp @@ -109,6 +109,12 @@ ze_result_t SysmanDeviceImp::init() { if (pEngineHandleContext) { pEngineHandleContext->init(); } + if (pSchedulerHandleContext) { + pSchedulerHandleContext->init(deviceHandles); + } + if (pMemoryHandleContext) { + pMemoryHandleContext->init(deviceHandles); + } if (pGlobalOperations) { pGlobalOperations->init(); } diff --git a/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/test_sysman_memory.cpp b/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/test_sysman_memory.cpp index b1523f2f7a..34e334c371 100644 --- a/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/test_sysman_memory.cpp +++ b/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/test_sysman_memory.cpp @@ -46,7 +46,7 @@ class SysmanDeviceMemoryFixture : public SysmanDeviceFixture { deviceHandles.resize(subDeviceCount, nullptr); Device::fromHandle(device->toHandle())->getSubDevices(&subDeviceCount, deviceHandles.data()); } - getMemoryHandles(0); + pSysmanDeviceImp->pMemoryHandleContext->init(deviceHandles); } void TearDown() override { diff --git a/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/test_sysman_memory_dg1.cpp b/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/test_sysman_memory_dg1.cpp index ca032e9bf7..de80228fe6 100644 --- a/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/test_sysman_memory_dg1.cpp +++ b/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/test_sysman_memory_dg1.cpp @@ -58,7 +58,7 @@ class SysmanDeviceMemoryFixture : public SysmanDeviceFixture { deviceHandles.resize(subDeviceCount, nullptr); Device::fromHandle(device->toHandle())->getSubDevices(&subDeviceCount, deviceHandles.data()); } - getMemoryHandles(0); + pSysmanDeviceImp->pMemoryHandleContext->init(deviceHandles); } void TearDown() override { diff --git a/level_zero/tools/test/unit_tests/sources/sysman/memory/windows/test_zes_memory.cpp b/level_zero/tools/test/unit_tests/sources/sysman/memory/windows/test_zes_memory.cpp index 8a3e64a257..ad761b350b 100644 --- a/level_zero/tools/test/unit_tests/sources/sysman/memory/windows/test_zes_memory.cpp +++ b/level_zero/tools/test/unit_tests/sources/sysman/memory/windows/test_zes_memory.cpp @@ -56,7 +56,7 @@ class SysmanDeviceMemoryFixture : public SysmanDeviceFixture { deviceHandles.resize(subDeviceCount, nullptr); Device::fromHandle(device->toHandle())->getSubDevices(&subDeviceCount, deviceHandles.data()); } - getMemoryHandles(0); + pSysmanDeviceImp->pMemoryHandleContext->init(deviceHandles); } void TearDown() override { diff --git a/level_zero/tools/test/unit_tests/sources/sysman/scheduler/linux/test_zes_scheduler.cpp b/level_zero/tools/test/unit_tests/sources/sysman/scheduler/linux/test_zes_scheduler.cpp index b9a950de5f..e7b8f753c6 100644 --- a/level_zero/tools/test/unit_tests/sources/sysman/scheduler/linux/test_zes_scheduler.cpp +++ b/level_zero/tools/test/unit_tests/sources/sysman/scheduler/linux/test_zes_scheduler.cpp @@ -84,7 +84,7 @@ class SysmanDeviceSchedulerFixture : public SysmanDeviceFixture { deviceHandles.resize(subDeviceCount, nullptr); Device::fromHandle(device->toHandle())->getSubDevices(&subDeviceCount, deviceHandles.data()); } - getSchedHandles(0); + pSysmanDeviceImp->pSchedulerHandleContext->init(deviceHandles); } void TearDown() override {