Re: [patch 1/2] mm, memcg: avoid oom notification when current needsaccess to memory reserves

From: David Rientjes
Date: Tue Nov 26 2013 - 19:53:58 EST


On Fri, 22 Nov 2013, Johannes Weiner wrote:

> But userspace in all likeliness DOES need to take action.
>
> Reclaim is a really long process. If 5 times doing 12 priority cycles
> and scanning thousands of pages is not enough to reclaim a single
> page, what does that say about the health of the memcg?
>
> But more importantly, OOM handling is just inherently racy. A task
> might receive the kill signal a split second *after* userspace was
> notified. Or a task may exit voluntarily a split second after a
> victim was chosen and killed.
>

That's not true even today without the userspace oom handling proposal
currently being discussed if you have a memcg oom handler attached to a
parent memcg with access to more memory than an oom child memcg. The oom
handler can disable the child memcg's oom killer with memory.oom_control
and implement its own policy to deal with any notification of oom.

This patch is required to ensure that in such a scenario that the oom
handler sitting in the parent memcg only wakes up when it's required to
intervene. Making an inference about the "health of the memcg" can
certainly be done with memory thresholds and vmpressure, if you need that.

I agree with Michal.
--
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/