[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.SOC.1.00.1312031116150.3485@math.ut.ee>
Date: Tue, 3 Dec 2013 11:17:35 +0200 (EET)
From: Meelis Roos <mroos@...ux.ee>
To: David Rientjes <rientjes@...gle.com>
cc: Pekka Enberg <penberg@...nel.org>,
Christoph Lameter <cl@...ux-foundation.org>,
Matt Mackall <mpm@...enic.com>,
Linux Kernel list <linux-kernel@...r.kernel.org>,
linux-mm@...ck.org
Subject: Re: Slab BUG with DEBUG_* options
> > I am debugging a reboot problem on Sun Ultra 5 (sparc64) with 512M RAM
> > and turned on DEBUG_PAGEALLOC DEBUG_SLAB and DEBUG_SLAB_LEAK (and most
> > other debug options) and got the following BUG and hang on startup. This
> > happened originally with 3.11-rc2-00058 where my bisection of
> > another problem lead, but I retested 3.12 to have the same BUG in the
> > same place.
> >
> > kernel BUG at mm/slab.c:2391!
[...
> > The line shows that __kmem_cache_create gets a NULL from kmalloc_slab().
> >
> > I instrumented the code and found the following:
> >
> > __kmem_cache_create: starting, size=248, flags=8192
> > __kmem_cache_create: now flags=76800
> > __kmem_cache_create: aligned size to 248 because of redzoning
> > __kmem_cache_create: pagealloc debug, setting size to 8192
> > __kmem_cache_create: aligned size to 8192
> > __kmem_cache_create: num=1, slab_size=64
> > __kmem_cache_create: starting, size=96, flags=8192
> > __kmem_cache_create: now flags=76800
> > __kmem_cache_create: aligned size to 96 because of redzoning
> > __kmem_cache_create: pagealloc debug, setting size to 8192
> > __kmem_cache_create: aligned size to 8192
> > __kmem_cache_create: num=1, slab_size=64
> > __kmem_cache_create: starting, size=192, flags=8192
> > __kmem_cache_create: now flags=76800
> > __kmem_cache_create: aligned size to 192 because of redzoning
> > __kmem_cache_create: pagealloc debug, setting size to 8192
> > __kmem_cache_create: aligned size to 8192
> > __kmem_cache_create: num=1, slab_size=64
> > __kmem_cache_create: starting, size=32, flags=8192
> > __kmem_cache_create: now flags=76800
> > __kmem_cache_create: aligned size to 32 because of redzoning
> > __kmem_cache_create: aligned size to 32
> > __kmem_cache_create: num=226, slab_size=960
> > __kmem_cache_create: starting, size=64, flags=8192
> > __kmem_cache_create: now flags=76800
> > __kmem_cache_create: aligned size to 64 because of redzoning
> > __kmem_cache_create: pagealloc debug, setting size to 8192
> > __kmem_cache_create: turning on CFLGS_OFF_SLAB, size=8192
> > __kmem_cache_create: aligned size to 8192
> > __kmem_cache_create: num=1, slab_size=64
> > __kmem_cache_create: CFLGS_OFF_SLAB, size=8192, slab_size=52
> > __kmem_cache_create: CFLGS_OFF_SLAB, allocating slab 52
> >
> > With slab size 64, it turns on CFLGS_OFF_SLAB and off slab allocation
> > with this size fails. I do not know slab internals so I can not tell if
> > this just happens because of the debug paths, or is it a real problem
> > without the debug options too.
> >
>
> Sounds like a problem with create_kmalloc_caches(), what are the values
> for KMALLOC_SHIFT_LOW and KMALLOC_SHIFT_HIGH?
KMALLOC_SHIFT_LOW=5, KMALLOC_SHIFT_HIGH=23
> It's interesting you report this as starting with 3.11-rc2 because this
> changed in 3.9, what kernels were tested before 3.11-rc2 if any?
No other kernels were tested with slab debug - but all relsese kernels
and most rc-s starting with rc2 or rc3 eacg time were tested without
slab debug.
--
Meelis Roos (mroos@...ux.ee)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists