Re: [linux-pm] OOPS: divide error while s2dsk (2.6.20-rc1-mm1)

From: Rafael J. Wysocki
Date: Mon Dec 18 2006 - 19:50:46 EST


On Tuesday, 19 December 2006 00:17, Andrew Morton wrote:
> On Mon, 18 Dec 2006 23:38:23 +0100
> "Rafael J. Wysocki" <rjw@xxxxxxx> wrote:
>
> > > > Looks like we have a problem with slab shrinking here.
> > > >
> > > > Could you please use gdb to check what exactly is at shrink_slab+0x9e?
> > >
> > > Sure, but not till Friday, sorry (I am away).
> >
> > I reproduced this on one box, but then it turned out that EIP was at line 195
> > of mm/vmscan.c where there was
> >
> > do_div(delta, lru_pages + 1);
>
> That implies that we passed it lru_pages=-1.
>
> Presumably the logic in
> vmscanc-account-for-memory-already-freed-in-seeking-to.patch caused that.
>
> > Well, I have no idea how this can lead to a divide error (lru_pages is
> > unsigned).
> >
> > I'm unable to reproduce this on another i386 box, so it seems to be somewhat
> > configuration specific.
> >
>
> There is one wart in shrink_all_memory() and I think we should fix that in
> 2.6.20.
>
> Please check the below.

Fine by me.

> I'll drop vmscanc-account-for-memory-already-freed-in-seeking-to.patch. It
> has other stuff in it which we might still need. But altering
> sc->swap_cluster_max in that manner looks odd.

Agreed.

Greetings,
Rafael
-
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/