Re: [PATCH] oom: avoid killing init if it assume the oom killed thread'smm

From: Ming Liu
Date: Wed Sep 25 2013 - 21:39:12 EST


On 09/26/2013 01:56 AM, David Rientjes wrote:
On Wed, 25 Sep 2013, Ming Liu wrote:

We shouldn't be selecting a process where mm == init_mm in the first
place, so this wouldn't fix the issue entirely.
But if we add a control point for "mm == init_mm" in the first place(ie. in
oom_unkillable_task), that would forbid the processes sharing mm with init to
be selected, is that reasonable? Actually my fix is just to protect init
process to be killed for its vfork child being selected and I think it's the
only place where there is the risk. If my understanding is wrong, pls correct
me.

We never want to select a process where task->mm == init_mm because if we
kill it we won't free any memory, regardless of vfork(). The goal of the
oom killer is solely to free memory, so it always tries to avoid needless
killing.
Yes, that make sense, I will send the V1 patch.

the best,
thank you



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