| From: | Andres Freund <andres(at)anarazel(dot)de> |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Remove SpinLockFree() / S_LOCK_FREE()? |
| Date: | 2020-06-08 22:53:38 |
| Message-ID: | 20200608225338.m5zho424w6lpwb2d@alap3.anarazel.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
We currently have
* 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.
and its underlying S_LOCK_FREE() operation:
*
* 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.
They are currently unused and, as far as I can tell, have never been
used outside test code /asserts. We also don't currently implement them
in the spinlock fallback code:
bool
s_lock_free_sema(volatile slock_t *lock)
{
/* We don't currently use S_LOCK_FREE anyway */
elog(ERROR, "spin.c does not support S_LOCK_FREE()");
return false;
}
I also find the "free" in the name very confusing. Everytime I look at
them (which, I grant, is not that often), I have to think about what
they mean.
Thus: Let's just remove SpinLockFree() / S_LOCK_FREE()?
Greetings,
Andres Freund
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2020-06-08 23:00:26 | Re: Remove SpinLockFree() / S_LOCK_FREE()? |
| Previous Message | Thomas Munro | 2020-06-08 22:26:26 | Re: [PATCH] Add support for choosing huge page size |