From: Tom Lane Date: Mon, 2 Jan 2012 03:44:01 +0000 (-0500) Subject: Use 4-byte slock_t on both PPC and PPC64. X-Git-Tag: REL9_2_BETA1~631 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8496c6cd77e2f5f105fc47315680174157d66647;p=thirdparty%2Fpostgresql.git Use 4-byte slock_t on both PPC and PPC64. 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. --- diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index cc67be81eb3..2e5163eabf0 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -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.