From: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | jonb(at)metronet(dot)com (Jon Buller) |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: [HACKERS] spinlock code for ns32k (again) |
Date: | 1998-10-02 15:22:27 |
Message-ID: | 199810021522.LAA07792@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Applied.
> Here's the new diff for getting the NS32K assembly code into the
> spin-locks. Notice that it's now inline assembler in s_lock.h,
> rather than seperate code in s_lock.c. It also shrank a little
> bit... Just rip out the S_LOCK() define and insert the tas() inline
> function. Please let me know if there are any problems with it.
>
> Jon Buller
>
>
>
> Index: src/include/storage/s_lock.h
> ===================================================================
> RCS file: /usr/local/cvsroot/pgsql/src/include/storage/s_lock.h,v
> retrieving revision 1.50
> diff -r1.50 s_lock.h
> 170a171,186
> > #if defined(NEED_NS32K_TAS_ASM)
> > #define TAS(lock) tas(lock)
> >
> > static __inline__ int
> > tas(volatile slock_t *lock)
> > {
> > register _res;
> > __asm__("sbitb 0, %0
> > sfsd %1"
> > : "=m"(*lock), "=r"(_res));
> > return (int) _res;
> > }
> >
> > #endif /* NEED_NS32K_TAS_ASM */
> >
> >
> 214,231d229
> <
> <
> <
> < #if defined(NEED_NS32K_TAS_ASM)
> <
> < #define S_LOCK(lock) \
> < { \
> < slock_t res = 1; \
> < while (res) { \
> < __asm__("movqd 0, r0"); \
> < __asm__("sbitd r0, %0" : "=m"(*lock)); \
> < __asm__("sprb us, %0" : "=r" (res)); \
> < res = ((res >> 5) & 1); \
> < } \
> < }
> <
> < #endif /* NEED_NS32K_TAS_ASM */
> <
>
>
--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas G. Lockhart | 1998-10-02 15:23:48 | Re: [HACKERS] regproc fix |
Previous Message | Bruce Momjian | 1998-10-02 15:00:19 | Re: [HACKERS] regproc fix |