lkml.org 
[lkml]   [2003]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: SOLVED: BUG: Kernel Panic: kernel-2.6.0-test9-bk21 for alpha in scsi context ll_rw_blk.c
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-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:58    [W:0.049 / U:0.588 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site