We shouldn't prefetch the spinlocks on UP.
Ivan.
--- 2.6/include/asm-alpha/processor.h Sat Oct 25 22:44:54 2003
+++ linux/include/asm-alpha/processor.h Tue Nov 18 01:48:39 2003
@@ -78,6 +78,11 @@ unsigned long get_wchan(struct task_stru
#define ARCH_HAS_PREFETCHW
#define ARCH_HAS_SPINLOCK_PREFETCH
+#ifndef CONFIG_SMP
+/* Nothing to prefetch. */
+#define spin_lock_prefetch(lock) do { } while (0)
+#endif
+
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
extern inline void prefetch(const void *ptr) { @@ -89,10 +94,13 @@ extern inline void prefetchw(const void __builtin_prefetch(ptr, 1, 3);
}
+#ifdef CONFIG_SMP
extern inline void spin_lock_prefetch(const void *ptr) {
__builtin_prefetch(ptr, 1, 3);
}
+#endif
+
#else
extern inline void prefetch(const void *ptr) { @@ -104,10 +112,13 @@ extern inline void prefetchw(const void __asm__ ("ldq $31,%0" : : "m"(*(char *)ptr)); }
+#ifdef CONFIG_SMP
extern inline void spin_lock_prefetch(const void *ptr) {
__asm__ ("ldq $31,%0" : : "m"(*(char *)ptr)); }
+#endif
+
#endif /* GCC 3.1 */
#endif /* __ASM_ALPHA_PROCESSOR_H */