Re: SOLVED: BUG: Kernel Panic: kernel-2.6.0-test9-bk21 for alphain scsi context ll_rw_blk.c

From: Thomas Steudten
Date: Tue Nov 18 2003 - 16:29:40 EST


Hi

With the patch from Ivan, the prefetch problem is gone.
Please add this patch to the mainline for 2.6.0 for alpha.

Regards
Tom

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 */

--
Tom

LINUX user since kernel 0.99.x 1994.
RPM Alpha packages at http://alpha.steudten.com/packages
Want to know what S.u.S.E 1995 cdrom-set contains?


-
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html