Re: Random panics seen in 2.6.18-rc1

From: Chandra Seetharaman
Date: Thu Jul 13 2006 - 12:03:53 EST


On Thu, 2006-07-13 at 06:51 -0700, Chandra Seetharaman wrote:

Tests are running for more than 2 hours now. So, this patch fixed the
panics i was seeing.

Thanks Ingo.

chandra
> On Thu, 2006-07-13 at 09:12 +0200, Ingo Molnar wrote:
> > * Chandra Seetharaman <sekharan@xxxxxxxxxx> wrote:
> >
> > > By adding one patch at a time to 2.6.17's mm/slab.c, I found that the
> > > following patch is the cause of the panic.
> > > --------------
> > > [PATCH] lockdep: annotate SLAB code
> >
> > great debugging!
>
> Thanks.
> >
> > I have reviewed that patch, and there's only one chunk that could
> > possibly have a functional effect. The patch below undoes it - does that
> > fix the crashes you are seeing? [If you have lockdep enabled then this
> > patch will cause a lockdep false positive - ignore that one for now, it
> > shouldnt impact the crash scenario itself.]
> >
>
> started the tests with this patch now. will report back in couple of
> hours... earlier if it crashes again :), which i doubt.
>
> Thanks & regards,
>
> chandra
> > Ingo
> >
> > --------------------->
> > Subject: revert slab.c locking change
> > From: Ingo Molnar <mingo@xxxxxxx>
> >
> > Chandra Seetharaman reported SLAB crashes caused by the slab.c
> > lock annotation patch. There is only one chunk of that patch
> > that has a material effect on the slab logic - this patch
> > undoes that chunk.
> >
> > Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> > ---
> > mm/slab.c | 9 ---------
> > 1 file changed, 9 deletions(-)
> >
> > Index: linux/mm/slab.c
> > ===================================================================
> > --- linux.orig/mm/slab.c
> > +++ linux/mm/slab.c
> > @@ -3100,16 +3100,7 @@ static void free_block(struct kmem_cache
> > if (slabp->inuse == 0) {
> > if (l3->free_objects > l3->free_limit) {
> > l3->free_objects -= cachep->num;
> > - /*
> > - * It is safe to drop the lock. The slab is
> > - * no longer linked to the cache. cachep
> > - * cannot disappear - we are using it and
> > - * all destruction of caches must be
> > - * serialized properly by the user.
> > - */
> > - spin_unlock(&l3->list_lock);
> > slab_destroy(cachep, slabp);
> > - spin_lock(&l3->list_lock);
> > } else {
> > list_add(&slabp->list, &l3->slabs_free);
> > }
--

----------------------------------------------------------------------
Chandra Seetharaman | Be careful what you choose....
- sekharan@xxxxxxxxxx | .......you may get it.
----------------------------------------------------------------------


-
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/