Messages in this thread |  | | Date | Wed, 26 Sep 2001 01:05:16 +0200 | From | Andrea Arcangeli <> | Subject | Re: __alloc_pages: 0-order allocation failed |
| |
On Tue, Sep 25, 2001 at 06:25:10PM -0300, Marcelo Tosatti wrote: > > > On Wed, 26 Sep 2001, Andrea Arcangeli wrote: > > > On Mon, Sep 24, 2001 at 09:38:24AM -0300, Marcelo Tosatti wrote: > > > --- linux.orig/mm/vmscan.c Mon Sep 24 10:36:40 2001 > > > +++ linux/mm/vmscan.c Mon Sep 24 10:54:01 2001 > > > @@ -567,6 +567,9 @@ > > > if (nr_pages <= 0) > > > return 1; > > > > > > + if (nr_pages < SWAP_CLUSTER_MAX) > > > + ret |= 1; > > > + > > > > too much permissive (vm-tweaks-1 does something similar but not that > > permissive) > > Andrea, > > Does vm-tweaks-1 fixes the current problem we're seeing?
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/
|  |