Re: [HACKERS] Re: [PATCHES] patches for 6.2.1p6

Tom Ivar Helbekkmo <tih@hamartun.priv.no>

From: Tom Ivar Helbekkmo <tih@Hamartun.Priv.NO>
To: Bruce Momjian <maillist@candle.pha.pa.us>
Cc: scrappy@hub.org (The Hermit Hacker), dg@illustra.com, dz@cs.unitn.it, hackers@postgreSQL.org
Date: 1998-03-18T21:50:35Z
Lists: pgsql-hackers
* 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.

-tih
-- 
Popularity is the hallmark of mediocrity.  --Niles Crane, "Frasier"