lkml.org 
[lkml]   [2010]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 0/6] mlock: do not hold mmap_sem for extended periods of time
    From
    Hi David,

    I forgot to add you on the original submission, but I think you'd be
    best qualified to look at the two patches implementing
    rwsem_is_contended()...

    On Thu, Dec 2, 2010 at 4:16 PM, Michel Lespinasse <walken@google.com> wrote:
    > Currently mlock() holds mmap_sem in exclusive mode while the pages get
    > faulted in. In the case of a large mlock, this can potentially take a
    > very long time, during which various commands such as 'ps auxw' will
    > block. This makes sysadmins unhappy:
    >
    > real    14m36.232s
    > user    0m0.003s
    > sys     0m0.015s
    > (output from 'time ps auxw' while a 20GB file was being mlocked without
    > being previously preloaded into page cache)
    >
    > I propose that mlock() could release mmap_sem after the VM_LOCKED bits
    > have been set in all appropriate VMAs. Then a second pass could be done
    > to actually mlock the pages, in small batches, releasing mmap_sem when
    > we block on disk access or when we detect some contention.
    >
    > Patches are against v2.6.37-rc4 plus my patches to avoid mlock dirtying
    > (presently queued in -mm).
    >
    > Michel Lespinasse (6):
    >  mlock: only hold mmap_sem in shared mode when faulting in pages
    >  mm: add FOLL_MLOCK follow_page flag.
    >  mm: move VM_LOCKED check to __mlock_vma_pages_range()
    >  rwsem: implement rwsem_is_contended()
    >  mlock: do not hold mmap_sem for extended periods of time
    >  x86 rwsem: more precise rwsem_is_contended() implementation

    --
    Michel "Walken" Lespinasse
    A program is never fully debugged until the last user dies.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-12-04 00:05    [W:0.022 / U:30.348 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site