On 2019/07/02 22:51, Michal Hocko wrote: >>> I do not see any strong reason to keep the current ordering. OOM victim >>> check is trivial so it shouldn't add a visible overhead for few >>> unkillable tasks that we might encounter. >>> >> >> Yes if we can tolerate that there can be only one OOM victim for !memcg OOM events >> (because an OOM victim in a different OOM context will hit "goto abort;" path). > > You are right. Considering that we now have a guarantee of a forward > progress then this should be tolerateable (a victim in a disjoint > numaset will go away and other one can go ahead and trigger its own > OOM). But it might take very long period before MMF_OOM_SKIP is set by the OOM reaper or exit_mmap(). Until MMF_OOM_SKIP is set, OOM events from disjoint numaset can't make forward progress.