Skip to content

Commit 3a361c1

Browse files
[SYCL][L0][UR]Remove the direct use of std::mutex in L0v2 (#19100)
1 parent d02c47a commit 3a361c1

File tree

4 files changed

+9
-11
lines changed

4 files changed

+9
-11
lines changed

unified-runtime/source/adapters/level_zero/v2/event_pool.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ static constexpr size_t EVENTS_BURST = 64;
2020
ur_event_handle_t event_pool::allocate() {
2121
TRACK_SCOPE_LATENCY("event_pool::allocate");
2222

23-
std::unique_lock<std::mutex> lock(*mutex);
23+
std::unique_lock<ur_mutex> lock(mutex);
2424

2525
if (freelist.empty()) {
2626
auto start = events.size();
@@ -46,7 +46,7 @@ ur_event_handle_t event_pool::allocate() {
4646
void event_pool::free(ur_event_handle_t event) {
4747
TRACK_SCOPE_LATENCY("event_pool::free");
4848

49-
std::unique_lock<std::mutex> lock(*mutex);
49+
std::unique_lock<ur_mutex> lock(mutex);
5050

5151
event->reset();
5252
freelist.push_back(event);

unified-runtime/source/adapters/level_zero/v2/event_pool.hpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,10 @@ class event_pool {
3131
// store weak reference to the queue as event_pool is part of the queue
3232
event_pool(ur_context_handle_t hContext,
3333
std::unique_ptr<event_provider> Provider)
34-
: hContext(hContext), provider(std::move(Provider)),
35-
mutex(std::make_unique<std::mutex>()) {};
34+
: hContext(hContext), provider(std::move(Provider)) {};
3635

37-
event_pool(event_pool &&other) = default;
38-
event_pool &operator=(event_pool &&other) = default;
36+
event_pool(event_pool &&other) = delete;
37+
event_pool &operator=(event_pool &&other) = delete;
3938

4039
event_pool(const event_pool &) = delete;
4140
event_pool &operator=(const event_pool &) = delete;
@@ -58,7 +57,7 @@ class event_pool {
5857
std::deque<ur_event_handle_t_> events;
5958
std::vector<ur_event_handle_t> freelist;
6059

61-
std::unique_ptr<std::mutex> mutex;
60+
ur_mutex mutex;
6261
};
6362

6463
} // namespace v2

unified-runtime/source/adapters/level_zero/v2/lockable.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313

1414
template <typename T> struct locked {
1515
public:
16-
locked(T *object, std::unique_lock<std::mutex> &&lock)
16+
locked(T *object, std::unique_lock<ur_mutex> &&lock)
1717
: lock_(std::move(lock)) {
1818
object_ = object;
1919
}
2020
T *operator->() { return object_; }
2121

2222
private:
23-
std::unique_lock<std::mutex> lock_;
23+
std::unique_lock<ur_mutex> lock_;
2424
T *object_;
2525
};
2626

@@ -54,5 +54,5 @@ template <typename T> struct lockable {
5454

5555
private:
5656
T object_;
57-
std::mutex mut_;
57+
ur_mutex mut_;
5858
};

unified-runtime/source/adapters/level_zero/v2/memory.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include "../image_common.hpp"
2020
#include "command_list_manager.hpp"
2121
#include "common.hpp"
22-
#include "lockable.hpp"
2322

2423
using usm_unique_ptr_t = std::unique_ptr<void, std::function<void(void *)>>;
2524

0 commit comments

Comments
 (0)