Re: Re: kswapd OOPS under 2.4.19-pre8 (ext3, Reiserfs + (soft)raid0)

William Lee Irwin III (wli@holomorphy.com)
Thu, 16 May 2002 12:38:34 -0700


On Thu, May 16, 2002 at 07:28:44AM -0500, Todd R. Eigenschink wrote:
> Ooh, spiffy idea. (Like I said, asm rookie.) I just compiled gdb,
> and here's what it says. Interesting, to me, at least.
> (gdb) list *__wake_up+0xb2
> 0x9d6 is in __wake_up
> (/src/linux-2.4.19-pre8/include/asm/processor.h:488).
> 483 #ifdef CONFIG_MPENTIUMIII
> 484
> 485 #define ARCH_HAS_PREFETCH
> 486 extern inline void prefetch(const void *x)
> 487 {
> 488 __asm__ __volatile__ ("prefetchnta (%0)" : : "r"(x));
> 489 }
> 490
> 491 #elif CONFIG_X86_USE_3DNOW

list_for_each() uses prefetch() and is used in __wake_up_common(), which
is in turn used by __wake_up(). This is waitqueue list corruption.

Cheers,
Bill
-
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/