[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070718170433.GC29722@gate.ebshome.net>
Date: Wed, 18 Jul 2007 10:04:33 -0700
From: Eugene Surovegin <ebs@...home.net>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-mm@...ck.org, Christoph Lameter <clameter@....com>,
Josh Boyer <jwboyer@...ux.vnet.ibm.com>,
bart.vanassche@...il.com, netdev@...r.kernel.org,
"bugme-daemon@...nel-bugs.osdl.org"
<bugme-daemon@...zilla.kernel.org>, linuxppc-embedded@...abs.org
Subject: Re: [Bugme-new] [Bug 8778] New: Ocotea board: kernel reports access of bad area during boot with DEBUG_SLAB=y
On Wed, Jul 18, 2007 at 09:55:37AM -0700, Andrew Morton wrote:
> On Wed, 18 Jul 2007 08:59:40 -0700 Eugene Surovegin <ebs@...home.net> wrote:
>
> > On Wed, Jul 18, 2007 at 08:41:10AM -0500, Josh Boyer wrote:
> > > On Wed, 2007-07-18 at 01:34 -0700, Eugene Surovegin wrote:
> > > > On Wed, Jul 18, 2007 at 12:52:53AM -0700, Andrew Morton wrote:
> > > > > On Wed, 18 Jul 2007 00:07:50 -0700 (PDT) bugme-daemon@...zilla.kernel.org wrote:
> > > > >
> > > > > > http://bugzilla.kernel.org/show_bug.cgi?id=8778
> > > > > >
> > > > > > Summary: Ocotea board: kernel reports access of bad area during
> > > > > > boot with DEBUG_SLAB=y
> > > >
> > > > Slab debugging is probably the culprit here. I had similar problem
> > > > couple of years ago, not sure something has changed since then,
> > > > haven't checked.
> > > >
> > > > When slab debugging was enabled it made memory allocations non L1
> > > > cache line aligned. This is very bad for DMA on non-coherent cache
> > > > arches (PPC440 is one of those archs).
> > > >
> > > > I have a hack for EMAC which tries to "workaround" this problem:
> > > > http://kernel.ebshome.net/emac_slab_debug.diff
> > > > which might help.
> > >
> > > Would you be opposed to including that patch in mainline?
> >
> > Yes. I don't think it's the right way to fix this issue. IMO, the
> > right one is to fix slab allocator. You cannot change all drivers to
> > do this kind of cache flushing, and yes, I saw the same problem with
> > PCI based NIC I tried on Ocotea at the time.
> >
>
> hm. It should be the case that providing SLAB_HWCACHE_ALIGN at
> kmem_cache_create() time will override slab-debugging's offsetting
> of the returned addresses.
>
> Or is the problem occurring with memory which is returned from kmalloc(),
> rather than from kmem_cache_alloc()?
It's kmalloc, at least this is how I think skbs are allocated.
Andrew, I don't have access to PPC hw right now (doing MIPS
development these days), so I cannot quickly check that my theory is
still correct for the latest kernel. I'd wait for the reporter to try
my hack and then we can decide what to do. IIRC there was some
provision in slab allocator to enforce alignment, when I was debugging
this problem more then a year ago, that option didn't work.
BTW, I think slob allocator had the same issue with alignment as slab
with enabled debugging (at least at the time I looked at it).
--
Eugene
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists