Re: [PATCH] Remove OOM killer from try_to_free_pages / all_unreclaimable braindamage

Nick Piggin
2004-11-09T02:23:48Z

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