Re: [PATCH] android,lowmemorykiller: Don't abuse TIF_MEMDIE.
From: Greg KH <gregkh@linuxfoundation.org>
Date: 2016-03-21 11:10:33
On Mon, Mar 21, 2016 at 08:00:49PM +0900, Tetsuo Handa wrote:
Greg Kroah-Hartman wrote:quoted
On Tue, Mar 08, 2016 at 03:18:59PM +0100, Michal Hocko wrote:quoted
On Tue 08-03-16 20:01:32, Tetsuo Handa wrote:quoted
Currently, lowmemorykiller (LMK) is using TIF_MEMDIE for two purposes. One is to remember processes killed by LMK, and the other is to accelerate termination of processes killed by LMK. But since LMK is invoked as a memory shrinker function, there still should be some memory available. It is very likely that memory allocations by processes killed by LMK will succeed without using ALLOC_NO_WATERMARKS via TIF_MEMDIE. Even if their allocations cannot escape from memory allocation loop unless they use ALLOC_NO_WATERMARKS, lowmem_deathpending_timeout can guarantee forward progress by choosing next victim process. On the other hand, mark_oom_victim() assumes that it must be called with oom_lock held and it must not be called after oom_killer_disable() was called. But LMK is calling it without holding oom_lock and checking oom_killer_disabled. It is possible that LMK calls mark_oom_victim() due to allocation requests by kernel threads after current thread returned from oom_killer_disabled(). This will break synchronization for PM/suspend. This patch introduces per a task_struct flag for remembering processes killed by LMK, and replaces TIF_MEMDIE with that flag. By applying this patch, assumption by mark_oom_victim() becomes true.Thanks for looking into this. A separate flag sounds like a better way to go (assuming that the flags are not scarce which doesn't seem to be the case here). The LMK cannot kill the frozen tasks now but this shouldn't be a big deal because this is not strictly necessary for the system to move on. We are not OOM.quoted
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Cc: Michal Hocko <redacted> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Arve Hjonnevag <arve@android.com> Cc: Riley Andrews <redacted>Acked-by: Michal Hocko <mhocko@suse.com>So, any objection for me taking this through the staging tree?Seems no objection. Please take this through the staging tree.
Ok, will do so after 4.6-rc1 is out. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>