lkml.org 
[lkml]   [2003]   [Nov]   [18]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 18 Nov 2003 22:29:04 +0100
FromThomas Steudten <>
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 12:58    [from the cache]
©2003-2008