>
> * Bruce Momjian
> |
> | Just a warning that this is not going to be easy. We have OS-specific
> | code for spinlocks in include/storage/s_lock.h and
> | backend/storage/buffer/s_lock.c. So each S_LOCK macro call has to have
> | its test-and-set logic de-coupled with its while-lock-fail-try-again
> | logic. Most of them are easy, but some like VAX:
> |
> | #define S_LOCK(addr) __asm__("1: bbssi $0,(%0),1b": :"r"(addr))
> |
> | are hard to de-couple. Now, I did not know we supported NetBSD on VAX.
> | Does it work, anyone? Can I remove it?
>
> Yes, it works. No, please don't break it. Heck, I only just got it
> in in time for 6.3! :-) The not-so-busy-waiting-spinlock stuff can be
> put in on a platform at a time -- I'll expand the VAX version to do
> the right thing once someone has done another platform, so I can see
> what's the preferred way of doing it.
OK, now I know that the VAX stuff is still used and supported. Good.
We don't have good platform-specific information on NetBSD and Linux
ports.
--
Bruce Momjian | 830 Blythe Avenue
maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026
+ If your life is a hard drive, | (610) 353-9879(w)
+ Christ can be your backup. | (610) 853-3000(h)