From 71eef36644e50fdf269f898e707182e72e083eeb Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Sun, 2 Jun 2024 15:17:36 +0000 Subject: [PATCH] crimson/common/tri_mutex: add waiter_t::waiter_name Signed-off-by: Matan Breizman --- src/crimson/common/tri_mutex.cc | 8 ++++---- src/crimson/common/tri_mutex.h | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/crimson/common/tri_mutex.cc b/src/crimson/common/tri_mutex.cc index 94b0642ded010..698b9b43e174b 100644 --- a/src/crimson/common/tri_mutex.cc +++ b/src/crimson/common/tri_mutex.cc @@ -74,7 +74,7 @@ seastar::future<> tri_mutex::lock_for_read() return seastar::now(); } DEBUGDPP("can't lock_for_read, adding to waiters", *this); - waiters.emplace_back(seastar::promise<>(), type_t::read); + waiters.emplace_back(seastar::promise<>(), type_t::read, name); return waiters.back().pr.get_future(); } @@ -127,7 +127,7 @@ seastar::future<> tri_mutex::lock_for_write() return seastar::now(); } DEBUGDPP("can't lock_for_write, adding to waiters", *this); - waiters.emplace_back(seastar::promise<>(), type_t::write); + waiters.emplace_back(seastar::promise<>(), type_t::write, name); return waiters.back().pr.get_future(); } @@ -182,7 +182,7 @@ seastar::future<> tri_mutex::lock_for_excl() return seastar::now(); } DEBUGDPP("can't lock_for_excl, adding to waiters", *this); - waiters.emplace_back(seastar::promise<>(), type_t::exclusive); + waiters.emplace_back(seastar::promise<>(), type_t::exclusive, name); return waiters.back().pr.get_future(); } @@ -251,7 +251,7 @@ void tri_mutex::wake() default: assert(0); } - // TODO: DEBUGDPP("waking up {} ", *this); + DEBUGDPP("waking up {}", *this, waiter.waiter_name); waiter.pr.set_value(); waiters.pop_front(); } diff --git a/src/crimson/common/tri_mutex.h b/src/crimson/common/tri_mutex.h index fc825e09e3814..285d4b3c168fe 100644 --- a/src/crimson/common/tri_mutex.h +++ b/src/crimson/common/tri_mutex.h @@ -142,11 +142,12 @@ private: none, }; struct waiter_t { - waiter_t(seastar::promise<>&& pr, type_t type) + waiter_t(seastar::promise<>&& pr, type_t type, std::string_view waiter_name) : pr(std::move(pr)), type(type) {} seastar::promise<> pr; type_t type; + std::string_view waiter_name; }; seastar::circular_buffer waiters; const std::string name; -- 2.39.5