Re: [PATCH] Remove OOM killer from try_to_free_pages / all_unreclaimablebraindamage

From: Nick Piggin
Date: Mon Nov 08 2004 - 21:26:36 EST




Marcelo Tosatti wrote:

On Mon, Nov 08, 2004 at 02:27:31PM -0200, Marcelo Tosatti wrote:

On Fri, Nov 05, 2004 at 06:01:18PM -0200, Marcelo Tosatti wrote:


While doing this, I noticed that kswapd will happily go to sleep if all zones have all_unreclaimable set. I bet this is the reason for the page allocation failures we are seeing. So the patch also makes balance_pgdat() NOT return and go to "loop_again" instead in case of page shortage - even if all_unreclaimable is set.

Basically the "loop_again" logic IS NOT WORKING!

Wrong, the loop_again logic is working, all_zones_ok will be
set when DEF_PRIORITY = 0.


I meant priority=DEF_PRIORITY.



Yep

So the page allocation failures are happening for some other reason(s).


Pre alloc_pages / kswapd shakeup, the watermark stuff had been pretty
broken. For example, allocations would wakeup kswapd at the *same*
watermark as they would start synchronous reclaim (or fail in the case
of !wait allocations).

Why there have been apparently more reports of allocation failures
since those patches is a mystery to me. I've looked but can't find
anything to explain it. Perhaps the initial watermark calculation had
been changed slightly? I'm not sure... it could also be just be a fluke
due to chaotic effects in the mm, I suppose :|

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