diff --git a/unified-runtime/source/adapters/level_zero/v2/event_pool.cpp b/unified-runtime/source/adapters/level_zero/v2/event_pool.cpp index 55e8ef0da9a5a..99d4852f9ad4a 100644 --- a/unified-runtime/source/adapters/level_zero/v2/event_pool.cpp +++ b/unified-runtime/source/adapters/level_zero/v2/event_pool.cpp @@ -20,7 +20,7 @@ static constexpr size_t EVENTS_BURST = 64; ur_event_handle_t event_pool::allocate() { TRACK_SCOPE_LATENCY("event_pool::allocate"); - std::unique_lock lock(*mutex); + std::unique_lock lock(mutex); if (freelist.empty()) { auto start = events.size(); @@ -46,7 +46,7 @@ ur_event_handle_t event_pool::allocate() { void event_pool::free(ur_event_handle_t event) { TRACK_SCOPE_LATENCY("event_pool::free"); - std::unique_lock lock(*mutex); + std::unique_lock lock(mutex); event->reset(); freelist.push_back(event); diff --git a/unified-runtime/source/adapters/level_zero/v2/event_pool.hpp b/unified-runtime/source/adapters/level_zero/v2/event_pool.hpp index 3a64d3fab68c3..a92a7fc72fa36 100644 --- a/unified-runtime/source/adapters/level_zero/v2/event_pool.hpp +++ b/unified-runtime/source/adapters/level_zero/v2/event_pool.hpp @@ -31,11 +31,10 @@ class event_pool { // store weak reference to the queue as event_pool is part of the queue event_pool(ur_context_handle_t hContext, std::unique_ptr Provider) - : hContext(hContext), provider(std::move(Provider)), - mutex(std::make_unique()) {}; + : hContext(hContext), provider(std::move(Provider)) {}; - event_pool(event_pool &&other) = default; - event_pool &operator=(event_pool &&other) = default; + event_pool(event_pool &&other) = delete; + event_pool &operator=(event_pool &&other) = delete; event_pool(const event_pool &) = delete; event_pool &operator=(const event_pool &) = delete; @@ -58,7 +57,7 @@ class event_pool { std::deque events; std::vector freelist; - std::unique_ptr mutex; + ur_mutex mutex; }; } // namespace v2 diff --git a/unified-runtime/source/adapters/level_zero/v2/lockable.hpp b/unified-runtime/source/adapters/level_zero/v2/lockable.hpp index 92c78d88c4042..dd8670295ef7a 100644 --- a/unified-runtime/source/adapters/level_zero/v2/lockable.hpp +++ b/unified-runtime/source/adapters/level_zero/v2/lockable.hpp @@ -13,14 +13,14 @@ template struct locked { public: - locked(T *object, std::unique_lock &&lock) + locked(T *object, std::unique_lock &&lock) : lock_(std::move(lock)) { object_ = object; } T *operator->() { return object_; } private: - std::unique_lock lock_; + std::unique_lock lock_; T *object_; }; @@ -54,5 +54,5 @@ template struct lockable { private: T object_; - std::mutex mut_; + ur_mutex mut_; }; diff --git a/unified-runtime/source/adapters/level_zero/v2/memory.hpp b/unified-runtime/source/adapters/level_zero/v2/memory.hpp index 0aadd6e85e2a8..9c0dc66ef72b4 100644 --- a/unified-runtime/source/adapters/level_zero/v2/memory.hpp +++ b/unified-runtime/source/adapters/level_zero/v2/memory.hpp @@ -19,7 +19,6 @@ #include "../image_common.hpp" #include "command_list_manager.hpp" #include "common.hpp" -#include "lockable.hpp" using usm_unique_ptr_t = std::unique_ptr>;