it seems no by reading the last email, however I'm not seeing any
problem, the DEBUG_GFP will tell us where the problem cames from,
pssobly it's a highmem thing since I never reproduced anything bad here.
But the point is that the above isn't going to be a right fix anyways.
> Also, we have to make sure _all_ progress accounting is being done
> correctly (i/dcache, etc). I'll make sure that happens as soon as the OOM
> problem is gone.
>
> > > ret |= swap_out(priority, classzone, gfp_mask, SWAP_CLUSTER_MAX << 2);
> > > } while (--priority);
> > >
> > > --- linux.orig/mm/page_alloc.c Mon Sep 24 10:36:40 2001
> > > +++ linux/mm/page_alloc.c Mon Sep 24 10:44:12 2001
> > > @@ -400,7 +400,7 @@
> > > if (!z)
> > > break;
> > >
> > > - if (zone_free_pages(z, order) > z->pages_high) {
> > > + if (zone_free_pages(z, order) > z->pages_min) {
> >
> > that breaks oom detection.
>
> Why?
the only point such code exists is to try to kill only one task, if the
killed task was the right one, such code can be dropped and still the
machine must not fail allocation unless truly oom, so any change there
cannot obviously fix anything related to early-oom-by-mistake.
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/