On Mon, 2 Jul 2018 16:05:02 +0200 Michal Hocko <mhocko@xxxxxxxxxx> wrote: > On Fri 29-06-18 20:15:47, Andrew Morton wrote: > [...] > > Would one of your earlier designs have addressed all usecases? I > > expect the dumb unmap-a-little-bit-at-a-time approach would have? > > It has been already pointed out that this will not work. I said "one of". There were others. > You simply > cannot drop the mmap_sem during unmap because another thread could > change the address space under your feet. So you need some form of > VM_DEAD and handle concurrent and conflicting address space operations. Unclear that this is a problem. If a thread does an unmap of a range of virtual address space, there's no guarantee that upon return some other thread has not already mapped new stuff into that address range. So what's changed?