On Thu 06-09-18 22:40:24, Tetsuo Handa wrote: > On 2018/09/06 21:05, Michal Hocko wrote: > >> If you are too busy, please show "the point of no-blocking" using source code > >> instead. If such "the point of no-blocking" really exists, it can be executed > >> by allocating threads. > > > > I would have to study this much deeper but I _suspect_ that we are not > > taking any blocking locks right after we return from unmap_vmas. In > > other words the place we used to have synchronization with the > > oom_reaper in the past. > > See commit 97b1255cb27c551d ("mm,oom_reaper: check for MMF_OOM_SKIP before > complaining"). Since this dependency is inode-based (i.e. irrelevant with > OOM victims), waiting for this lock can livelock. > > So, where is safe "the point of no-blocking" ? Ohh, right unlink_file_vma and its i_mmap_rwsem lock. As I've said I have to think about that some more. Maybe we can split those into two parts. -- Michal Hocko SUSE Labs