]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
DEBUG: thread: report the spin lock counters as seek locks
authorWilly Tarreau <w@1wt.eu>
Mon, 10 Feb 2025 07:02:42 +0000 (08:02 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 10 Feb 2025 17:34:43 +0000 (18:34 +0100)
Technically speaking, spin locks use a seek lock, not a write lock,
so better count them appropriately for consistency (lock time, or
function calls count).

src/thread.c

index 810420a7895d2248def2a9e587fce1ff76b68145..244304cb79775c9d53d6e40174854b2c8e000a2e 100644 (file)
@@ -938,9 +938,9 @@ void __spin_lock(enum lock_label lbl, struct ha_spinlock *l,
 
        start_time = now_mono_time();
        __SPIN_LOCK(&l->lock);
-       HA_ATOMIC_ADD(&lock_stats[lbl].nsec_wait_for_write, (now_mono_time() - start_time));
+       HA_ATOMIC_ADD(&lock_stats[lbl].nsec_wait_for_seek, (now_mono_time() - start_time));
 
-       HA_ATOMIC_INC(&lock_stats[lbl].num_write_locked);
+       HA_ATOMIC_INC(&lock_stats[lbl].num_seek_locked);
 
 
        st->owner                  = tbit;
@@ -967,7 +967,7 @@ int __spin_trylock(enum lock_label lbl, struct ha_spinlock *l,
        r = __SPIN_TRYLOCK(&l->lock);
        if (unlikely(r))
                return r;
-       HA_ATOMIC_INC(&lock_stats[lbl].num_write_locked);
+       HA_ATOMIC_INC(&lock_stats[lbl].num_seek_locked);
 
        st->owner                      = tbit;
        l->info.last_location.function = func;
@@ -994,7 +994,7 @@ void __spin_unlock(enum lock_label lbl, struct ha_spinlock *l,
        l->info.last_location.line     = line;
 
        __SPIN_UNLOCK(&l->lock);
-       HA_ATOMIC_INC(&lock_stats[lbl].num_write_unlocked);
+       HA_ATOMIC_INC(&lock_stats[lbl].num_seek_unlocked);
 }
 
 #endif // defined(DEBUG_THREAD) || defined(DEBUG_FULL)