]> granicus.if.org Git - postgresql/commitdiff
Use 4-byte slock_t on both PPC and PPC64.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 2 Jan 2012 03:44:01 +0000 (22:44 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 2 Jan 2012 05:02:01 +0000 (00:02 -0500)
Previously we defined slock_t as 8 bytes on PPC64, but the TAS assembly
code uses word-wide operations regardless, so that the second word was
just wasted space.  There doesn't appear to be any performance benefit
in adding the second word, so get rid of it to simplify the code.

src/include/storage/s_lock.h

index cc67be81eb334d2050182e24a7a690f41f71c357..2e5163eabf071fbb451a9c62bf6147bc25023e8a 100644 (file)
@@ -354,13 +354,10 @@ tas(volatile slock_t *lock)
 #if defined(__ppc__) || defined(__powerpc__) || defined(__ppc64__) || defined(__powerpc64__)
 #define HAS_TEST_AND_SET
 
-#if defined(__ppc64__) || defined(__powerpc64__)
-typedef unsigned long slock_t;
-#else
 typedef unsigned int slock_t;
-#endif
 
 #define TAS(lock) tas(lock)
+
 /*
  * NOTE: per the Enhanced PowerPC Architecture manual, v1.0 dated 7-May-2002,
  * an isync is a sufficient synchronization barrier after a lwarx/stwcx loop.