• Andrew Morton's avatar
    [PATCH] rmap 34 vm_flags page_table_lock · 4877b14f
    Andrew Morton authored
    From: Hugh Dickins <hugh@veritas.com>
    
    First of a batch of seven rmap patches, based on 2.6.6-mm3.  Probably the
    final batch: remaining issues outstanding can have isolated patches.  The
    first half of the batch is good for anonmm or anon_vma, the second half of the
    batch replaces my anonmm rmap by Andrea's anon_vma rmap.
    
    Judge for yourselves which you prefer.  I do think I was wrong to call
    anon_vma more complex than anonmm (its lists are easier to understand than my
    refcounting), and I'm happy with its vma merging after the last patch.  It
    just comes down to whether we can spare the extra 24 bytes (maximum, on
    32-bit) per vma for its advantages in swapout and mremap.
    
    rmap 34 vm_flags page_table_lock
    
    Why do we guard vm_flags mods with page_table_lock when it's already
    down_write guarded by mmap_sem?  There's probably a historical reason, but no
    sign of any need for it now.  Andrea added a comment and removed the instance
    from mprotect.c, Hugh plagiarized his comment and removed the instances from
    madvise.c and mlock.c.  Huge leap in scalability...  not expected; but this
    should stop people asking why those spinlocks.
    4877b14f
mprotect.c 7.44 KB