Re: [BUG][Resend] 2.6.12-rc3-mm3: Kernel BUG at "mm/slab.c":1219 [update]

From: Andi Kleen
Date: Tue May 10 2005 - 16:18:49 EST


On Tue, May 10, 2005 at 11:22:24AM -0700, Andrew Morton wrote:
> "Rafael J. Wysocki" <rjw@xxxxxxx> wrote:
> >
> > > Clearly init_bio() is not passing in a NULL `name' parameter. Maybe the
> > > backtrace is screwed due to dopey gcc autoinlining and the bad caller is
> > > really biovec_init_slabs(). Try removing the
> > > __cacheline_aligned_mostly_readonly from the declaration of bvec_slabs[].
> >
> > Heh, it boots without the __cacheline_aligned_mostly_readonly (ie the BUG is
> > only triggered if the __cacheline_aligned_mostly_readonly is present in the
> > declaration of bvec_slabs[]). I've double-checked it. Interesting ... ;-)
>
> oops.
>
> +#ifdef CONFIG_X86
> +#define __cacheline_aligned_mostly_readonly \
> + __attribute__((__aligned__(SMP_CACHE_BYTES), \
> + __section__(".data.mostly_readonly")))
> +#else
> +#define __cacheline_aligned_mostly_readonly __cacheline_aligned
> +#endif
>
> So on x86_64 we're putting __cacheline_aligned_mostly_readonly stuff into a
> section which is not implemented anywhere. I'm rather surprised that the
> kernel linked at all. But I'm more surprised that it mysteriously oopsed.
>
> Oh well, I'll change that to CONFIG_X86 && !CONFIG_X86_64, thanks.

Better just add the section to x86-64. Should be easy by copying the
change from the i386 patch.

Ideally it would be asm-generic/vmlinux.lds and cover everybody...

-Andi


> Or maybe Christoph wants to rustle up the x86_64 patch? We really should
> patch all architectures if we're going to do this thing.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/