On Thu 07-06-18 20:00:23, Tetsuo Handa wrote: > The "mm, oom: cgroup-aware OOM killer" patchset is trying to introduce > INFLIGHT_VICTIM in order to replace open-coded ((void *)-1UL). But > (regarding CONFIG_MMU=y case) we have a list of inflight OOM victim > threads which are connected to oom_reaper_list. Thus we can check > whether there are inflight OOM victims before starting process/memcg > list traversal. Since it is likely that only few threads are linked to > oom_reaper_list, checking all victims' OOM domain will not matter. > > Thus, check whether there are inflight OOM victims before starting > process/memcg list traversal and eliminate the "abort" path. OK, this looks like a nice shortcut. I am quite surprise that all your NOMMU concerns are gone now while you clearly regress that case because inflight victims are not detected anymore AFAICS. Not that I care all that much, just sayin'. Anyway, I would suggest splitting this into two patches. One to add an early check for inflight oom victims and one removing the detection from oom_evaluate_task. Just to make it easier to revert if somebody on nommu actually notices a regression. > Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> > Cc: Roman Gushchin <guro@xxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Vladimir Davydov <vdavydov.dev@xxxxxxxxx> > Cc: David Rientjes <rientjes@xxxxxxxxxx> > Cc: Tejun Heo <tj@xxxxxxxxxx> [...] -- Michal Hocko SUSE Labs