lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 18 Feb 2016 13:08:49 +0100 From: Michal Hocko <mhocko@...nel.org> To: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp> Cc: rientjes@...gle.com, akpm@...ux-foundation.org, mgorman@...e.de, oleg@...hat.com, torvalds@...ux-foundation.org, hughd@...gle.com, andrea@...nel.org, riel@...hat.com, linux-mm@...ck.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH v2] mm,oom: exclude oom_task_origin processes if they are OOM-unkillable. On Thu 18-02-16 19:30:12, Tetsuo Handa wrote: [...] > Commit 9cbb78bb314360a8 changed oom_scan_process_thread() to > always pass memcg == NULL by removing memcg argument from > oom_scan_process_thread(). As a result, after that commit, > we are doing test_tsk_thread_flag(p, TIF_MEMDIE) check and > oom_task_origin(p) check between two oom_unkillable_task() > calls of memcg OOM case. Why don't we skip these checks by > passing memcg != NULL to first oom_unkillable_task() call? > Was this change by error? I am not really sure I understand your question. The point is that mem_cgroup_out_of_memory does for_each_mem_cgroup_tree which means that only tasks from the given memcg hierarchy is checked and oom_unkillable_task cares about memcg only for /* When mem_cgroup_out_of_memory() and p is not member of the group */ if (memcg && !task_in_mem_cgroup(p, memcg)) return true; which is never true by definition. I guess we can safely remove the memcg argument from oom_badness and oom_unkillable_task. At least from a quick glance... -- Michal Hocko SUSE Labs
Powered by blists - more mailing lists