From d16f2686464cacbbc3c9c4b8f37150b0994aca77 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Wed, 12 Mar 2025 18:13:49 +0300 Subject: [PATCH] blk/kernel: New perf counter to view amount of discard threads. Signed-off-by: Igor Fedotov (cherry picked from commit 5aba1c9c3abd91bc85c3e01215b6b4ffe6a8d7d1) --- src/blk/kernel/KernelDevice.cc | 3 +++ src/blk/kernel/KernelDevice.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/blk/kernel/KernelDevice.cc b/src/blk/kernel/KernelDevice.cc index df4f37a5a540a..283f94c7542e4 100644 --- a/src/blk/kernel/KernelDevice.cc +++ b/src/blk/kernel/KernelDevice.cc @@ -96,6 +96,8 @@ KernelDevice::KernelDevice(CephContext* cct, aio_callback_t cb, void *cbpriv, ai b.set_prio_default(PerfCountersBuilder::PRIO_USEFUL); b.add_u64_counter(l_blk_kernel_device_discard_op, "discard_op", "Number of discard ops issued to kernel device"); + b.add_u64_counter(l_blk_kernel_discard_threads, "discard_threads", + "Number of discard threads running"); logger.reset(b.create_perf_counters()); cct->get_perfcounters_collection()->add(logger.get()); @@ -589,6 +591,7 @@ void KernelDevice::_discard_update_threads(bool discard_stop) t->join(); } } + logger->set(l_blk_kernel_discard_threads, discard_threads.size()); } void KernelDevice::_discard_stop() diff --git a/src/blk/kernel/KernelDevice.h b/src/blk/kernel/KernelDevice.h index 1444bfa54bbd7..29e91ab5f6dc8 100644 --- a/src/blk/kernel/KernelDevice.h +++ b/src/blk/kernel/KernelDevice.h @@ -32,6 +32,7 @@ enum { l_blk_kernel_device_first = 1000, l_blk_kernel_device_discard_op, + l_blk_kernel_discard_threads, l_blk_kernel_device_last, }; -- 2.39.5