On Wed 12-09-18 16:58:53, Tetsuo Handa wrote: > Michal Hocko wrote: > > OK, I will fold the following to the patch > > OK. But at that point, my patch which tries to wait for reclaimed memory > to be re-allocatable addresses a different problem which you are refusing. I am trying to address a real world example of when the excessive amount of memory is in page tables. As David pointed, this can happen with some userspace allocators. > By the way, is it guaranteed that vma->vm_ops->close(vma) in remove_vma() never > sleeps? Since remove_vma() has might_sleep() since 2005, and that might_sleep() > predates the git history, I don't know what that ->close() would do. Hmm, I am afraid we cannot assume anything so we have to consider it unsafe. A cursory look at some callers shows that they are taking locks. E.g. drm_gem_object_put_unlocked might take a mutex. So MMF_OOM_SKIP would have to set right after releasing page tables. > Anyway, please fix free_pgd_range() crash in this patchset. I will try to get to this later today. -- Michal Hocko SUSE Labs