[lkml]   [2017]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch 1/2] mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks
    On 11/12/2017 23:11, David Rientjes wrote:
    > Commit 4d4bbd8526a8 ("mm, oom_reaper: skip mm structs with mmu notifiers")
    > prevented the oom reaper from unmapping private anonymous memory with the
    > oom reaper when the oom victim mm had mmu notifiers registered.
    > The rationale is that doing mmu_notifier_invalidate_range_{start,end}()
    > around the unmap_page_range(), which is needed, can block and the oom
    > killer will stall forever waiting for the victim to exit, which may not
    > be possible without reaping.
    > That concern is real, but only true for mmu notifiers that have blockable
    > invalidate_range_{start,end}() callbacks. This patch adds a "flags" field
    > for mmu notifiers that can set a bit to indicate that these callbacks do
    > block.

    Why not put the flag in the ops, since the same ops should always be
    either blockable or unblockable?


    > The implementation is steered toward an expensive slowpath, such as after
    > the oom reaper has grabbed mm->mmap_sem of a still alive oom victim.
    > Signed-off-by: David Rientjes <>

     \ /
      Last update: 2017-12-11 23:24    [W:2.094 / U:2.964 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site