[lkml]   [2009]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 13/12] ksm: fix munlock during exit_mmap deadlock
    On Wed, Aug 26, 2009 at 08:17:50PM +0100, Hugh Dickins wrote:
    > Has anyone looked at why Rawhide's mlockall is not faulting in the
    > pages, I wonder if there's a separate bug there?)

    I reproduced only with self compiled mmotm kernel with full self
    compiled userland with just a mlockall and exit (not rawhide
    kernel/userland) so there's certainly no bug in rawhide, or at least
    nothing special about it.

    > No, not while it's down inside page allocation.

    There's a slight difference if it's ksm inside page allocation and not
    the task itself for other reasons. See the TIF_MEMDIE check in
    page_alloc.c, those won't trigger when it's ksm causing a page
    fault. So that's the problem left to tackle to make oom killer fully
    happy with KSK unshare.

    > But you don't like that approach at all, hmm. It sounds like we'll
    > have a fight if I try either that or to reintroduce the ksm_test_exits

    ;) Well I'd rather have a more unfixable issue if we have to
    reintroduce the mm_users check the in page faults.

    All is left to address is to teach page_alloc.c that the mm is going
    away in a second patch. That might also help when it's aio triggering
    gup page allocations or other kernel threads with use_mm just like ksm
    and the oom killer selected those "mm" for release.

    Having ksm using use_mm before triggering the handle_mm_fault (so
    tsk->mm points to the mm of the task) and adding a MMF_MEMDIE to
    mm->flags checked by page_alloc would work just fine and should solve
    the double task killed... but then I'm unsure.. this is just the first
    idea I had.

    > in memory.c, once the munlock faulting is eliminated. Well, I'll give
    > it more thought: your patch is a lot better than the status quo,
    > and should go in for now - thanks.

    Ok, agreed!

     \ /
      Last update: 2009-08-26 21:47    [W:0.023 / U:2.244 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site