diff options
| author | babenko <[email protected]> | 2025-08-18 09:12:12 +0300 |
|---|---|---|
| committer | babenko <[email protected]> | 2025-08-18 09:39:02 +0300 |
| commit | 4da962b08b5146886840a888e757489ebac0fa63 (patch) | |
| tree | 335a8b55b1ab3e783bc3ea1a548467ba39d99a59 /library/cpp/yt/threading/spin_lock_count.cpp | |
| parent | 38c1f726de8947517b6e9c2ff3ff8425803a0619 (diff) | |
YT-18571: Refactor traced (fomerly tracked) spin locks and add unittests
commit_hash:2476930524e6179b49fbf312f907bd03413cd8b8
Diffstat (limited to 'library/cpp/yt/threading/spin_lock_count.cpp')
| -rw-r--r-- | library/cpp/yt/threading/spin_lock_count.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/library/cpp/yt/threading/spin_lock_count.cpp b/library/cpp/yt/threading/spin_lock_count.cpp index b1670e92d4a..008a5a66ad5 100644 --- a/library/cpp/yt/threading/spin_lock_count.cpp +++ b/library/cpp/yt/threading/spin_lock_count.cpp @@ -7,21 +7,19 @@ #include <util/system/types.h> -namespace NYT::NThreading::NPrivate { +namespace NYT::NThreading { + +//////////////////////////////////////////////////////////////////////////////// #ifndef NDEBUG -//////////////////////////////////////////////////////////////////////////////// +namespace NDetail { YT_DEFINE_THREAD_LOCAL(i64, ActiveSpinLockCount, 0); -//////////////////////////////////////////////////////////////////////////////// - -void RecordSpinLockAcquired(bool isAcquired) +void RecordSpinLockAcquired() { - if (isAcquired) { - ActiveSpinLockCount()++; - } + ActiveSpinLockCount()++; } void RecordSpinLockReleased() @@ -30,14 +28,21 @@ void RecordSpinLockReleased() ActiveSpinLockCount()--; } +} // namespace NDetail + +int GetActiveSpinLockCount() +{ + return NDetail::ActiveSpinLockCount(); +} + void VerifyNoSpinLockAffinity() { - YT_VERIFY(ActiveSpinLockCount() == 0); + YT_VERIFY(NDetail::ActiveSpinLockCount() == 0); } #endif //////////////////////////////////////////////////////////////////////////////// -} // namespace NYT::NThreading::NPrivate +} // namespace NYT::NThreading |
