From 5033d7108d4203a34fb7eb84f793494ded735803 Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Wed, 18 Feb 2026 11:03:01 -0600 Subject: [PATCH v1 2/3] Remove SpinLockFree() and S_LOCK_FREE(). --- src/backend/storage/lmgr/s_lock.c | 24 ------------------------ src/include/storage/s_lock.h | 8 -------- src/include/storage/spin.h | 6 ------ 3 files changed, 38 deletions(-) diff --git a/src/backend/storage/lmgr/s_lock.c b/src/backend/storage/lmgr/s_lock.c index 5b79556bc9c..6df568eccb3 100644 --- a/src/backend/storage/lmgr/s_lock.c +++ b/src/backend/storage/lmgr/s_lock.c @@ -262,12 +262,6 @@ main() return 1; } - if (!S_LOCK_FREE(&test_lock.lock)) - { - printf("S_LOCK_TEST: failed, lock not initialized\n"); - return 1; - } - S_LOCK(&test_lock.lock); if (test_lock.pad1 != 0x44 || test_lock.pad2 != 0x44) @@ -276,12 +270,6 @@ main() return 1; } - if (S_LOCK_FREE(&test_lock.lock)) - { - printf("S_LOCK_TEST: failed, lock not locked\n"); - return 1; - } - S_UNLOCK(&test_lock.lock); if (test_lock.pad1 != 0x44 || test_lock.pad2 != 0x44) @@ -290,12 +278,6 @@ main() return 1; } - if (!S_LOCK_FREE(&test_lock.lock)) - { - printf("S_LOCK_TEST: failed, lock not unlocked\n"); - return 1; - } - S_LOCK(&test_lock.lock); if (test_lock.pad1 != 0x44 || test_lock.pad2 != 0x44) @@ -304,12 +286,6 @@ main() return 1; } - if (S_LOCK_FREE(&test_lock.lock)) - { - printf("S_LOCK_TEST: failed, lock not re-locked\n"); - return 1; - } - printf("S_LOCK_TEST: this will print %d stars and then\n", NUM_DELAYS); printf(" exit with a 'stuck spinlock' message\n"); printf(" if S_LOCK() and TAS() are working.\n"); diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 3d9070e79d4..89d28ac40c9 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -21,10 +21,6 @@ * void S_UNLOCK(slock_t *lock) * Unlock a previously acquired lock. * - * bool S_LOCK_FREE(slock_t *lock) - * Tests if the lock is free. Returns true if free, false if locked. - * This does *not* change the state of the lock. - * * void SPIN_DELAY(void) * Delay operation to occur inside spinlock wait loop. * @@ -671,10 +667,6 @@ spin_delay(void) (TAS(lock) ? s_lock((lock), __FILE__, __LINE__, __func__) : 0) #endif /* S_LOCK */ -#if !defined(S_LOCK_FREE) -#define S_LOCK_FREE(lock) (*(lock) == 0) -#endif /* S_LOCK_FREE */ - #if !defined(S_UNLOCK) /* * Our default implementation of S_UNLOCK is essentially *(lock) = 0. This diff --git a/src/include/storage/spin.h b/src/include/storage/spin.h index 0f160d0e395..78c95ae538b 100644 --- a/src/include/storage/spin.h +++ b/src/include/storage/spin.h @@ -18,10 +18,6 @@ * void SpinLockRelease(volatile slock_t *lock) * Unlock a previously acquired lock. * - * bool SpinLockFree(slock_t *lock) - * Tests if the lock is free. Returns true if free, false if locked. - * This does *not* change the state of the lock. - * * Callers must beware that the macro argument may be evaluated multiple * times! * @@ -60,6 +56,4 @@ #define SpinLockRelease(lock) S_UNLOCK(lock) -#define SpinLockFree(lock) S_LOCK_FREE(lock) - #endif /* SPIN_H */ -- 2.50.1 (Apple Git-155)