Re: 2.5.74-mm3 OOM killer fubared ?

William Lee Irwin III (wli@holomorphy.com)
Thu, 10 Jul 2003 04:27:28 -0700


On Thu, Jul 10, 2003 at 11:14:59AM +0000, Miquel van Smoorenburg wrote:
> Enough memory free, no problems at all .. yet every few minutes
> the OOM killer kills one of my innfeed processes.
> I notice that in -mm3 this was deleted relative to -vanilla:
>
> -
> - /*
> - * Enough swap space left? Not OOM.
> - */
> - if (nr_swap_pages > 0)
> - return;
> .. is that what causes this ? In any case, that should't vene matter -
> there's plenty of memory in this box, all buffers and cached, but that
> should be easily freed ..

This means we're calling into it more often than we should be.
Basically, we hit __alloc_pages() with __GFP_WAIT set, find nothing
we're allowed to touch, dive into try_to_free_pages(), fall through
scanning there, sleep in blk_congestion_wait(), wake up again, try
to shrink_slab(), find nothing there either, repeat that 11 more times,
and then fall through to out_of_memory()... and this happens at at
least 10Hz.

since = now - lastkill;
if (since < HZ*5)
goto out_unlock;

try s/goto out_unlock/goto reset/ and let me know how it goes.

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