Re: [PATCH] mm: check zone->all_unreclaimable in all_unreclaimable()

From: avagin@xxxxxxxxx
Date: Tue Mar 08 2011 - 14:02:44 EST


On 03/08/2011 06:06 AM, KOSAKI Motohiro wrote:
Hmm.. Although it solves the problem, I think it's not a good idea that
depends on false alram and give up the retry.

Any alternative proposals? We should get the livelock fixed if possible..

I agree with Minchan and can't think this is a real fix....
Andrey, I'm now trying your fix and it seems your fix for oom-killer,
'skip-zombie-process' works enough good for my environ.

What is your enviroment ? number of cpus ? architecture ? size of memory ?

me too. 'skip-zombie-process V1' work fine. and I didn't seen this patch
improve oom situation.

And, The test program is purely fork bomb. Our oom-killer is not silver
bullet for fork bomb from very long time ago. That said, oom-killer send
SIGKILL and start to kill the victim process. But, it doesn't prevent
to be created new memory hogging tasks. Therefore we have no gurantee
to win process exiting and creating race.

I think a live-lock is a bug, even if it's provoked by fork bomds.

And now I want say some words about zone->all_unreclaimable. I think this flag is "conservative". It is set when situation is bad and it's unset when situation get better. If we have a small number of reclaimable pages, the situation is still bad. What do you mean, when say that kernel is alive? If we have one reclaimable page, is the kernel alive? Yes, it can work, it will generate many page faults and do something, but anyone say that it is more dead than alive.

Try to look at it from my point of view. The patch will be correct and the kernel will be more alive.

Excuse me, If I'm mistaken...



*IF* we really need to care fork bomb issue, we need to write completely
new VM feature.



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