On Fri 06-07-18 17:05:39, David Rientjes wrote: [...] > Blockable mmu notifiers and mlocked memory is not the extent of the > problem, if a process has a lot of virtual memory we must wait until > free_pgtables() completes in exit_mmap() to prevent unnecessary oom > killing. For implementations such as tcmalloc, which does not release > virtual memory, this is important because, well, it releases this only at > exit_mmap(). Of course we cannot do that with only the protection of > mm->mmap_sem for read. And how exactly a timeout helps to prevent from "unnecessary killing" in that case? -- Michal Hocko SUSE Labs