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

From: Andrew Morton
Date: Tue May 10 2005 - 13:24:20 EST


"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.

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/