Skip site navigation (1) Skip section navigation (2)

Re: [HACKERS] spinlock code for ns32k (again)

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 (view raw or flat)
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


In response to

pgsql-hackers by date

Next:From: Thomas G. LockhartDate: 1998-10-02 15:23:48
Subject: Re: [HACKERS] regproc fix
Previous:From: Bruce MomjianDate: 1998-10-02 15:00:19
Subject: Re: [HACKERS] regproc fix

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group