Bruce Momjian wrote: > Prompted by confusion over Itanium/Opterion, I have written a patch to > improve the way we define spinlocks for platforms and cpu's. It > basically decouples the OS from the CPU spinlock code. In almost all > cases, the spinlock code cares only about the compiler and CPU, not the > OS. > > The patch: > > o defines HAS_TEST_AND_SET inside each spinlock routine, not in > platform-specific files > o moves slock_t defines into the spinlock routines > o remove NEED_{CPU}_TAS_ASM define because it is no longer needed > o reports a compile error if spinlocks are not defined > o adds a configure option --without-spinlocks to allow > non-spinlock compiles
OK, we have to decide which parts of this patch we want added. I think there was agreement that we want this part for 7.4: > o reports a compile error if spinlocks are not defined > o adds a configure option --without-spinlocks to allow > non-spinlock compiles Now, do we also want to centralize the cpu tests in s_lock.h, or try to patch up the include/port/*.h files for Opteron/Itanium. If you look in freebsd.h, for example, you will see we basically try to duplicate the cpu tests done in s_lock.h. To get this working, we would need to add Itanium/Opteron tests there, and add i386 tests in other platforms that previously supported only i386 and add Opteron/Itanium. Or we could just apply the entire patch. I am going to get some folks to test the patch today on a few platforms to see how it works for them. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match