lkml.org 
[lkml]   [2005]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 07/21] mm: remove_vma_list consolidation
    unmap_vma doesn't amount to much, let's put it inside unmap_vma_list.
    Except it doesn't unmap anything, unmap_region just did the unmapping:
    rename it to remove_vma_list.

    Signed-off-by: Hugh Dickins <hugh@veritas.com>
    ---

    mm/mmap.c | 36 ++++++++++++------------------------
    1 files changed, 12 insertions(+), 24 deletions(-)

    --- mm06/mm/mmap.c 2005-09-24 19:27:33.000000000 +0100
    +++ mm07/mm/mmap.c 2005-09-24 19:27:47.000000000 +0100
    @@ -1599,35 +1599,23 @@ find_extend_vma(struct mm_struct * mm, u
    }
    #endif

    -/* Normal function to fix up a mapping
    - * This function is the default for when an area has no specific
    - * function. This may be used as part of a more specific routine.
    - *
    - * By the time this function is called, the area struct has been
    - * removed from the process mapping list.
    - */
    -static void unmap_vma(struct mm_struct *mm, struct vm_area_struct *vma)
    -{
    - long nrpages = vma_pages(vma);
    -
    - mm->total_vm -= nrpages;
    - if (vma->vm_flags & VM_LOCKED)
    - mm->locked_vm -= nrpages;
    - vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages);
    - remove_vm_struct(vma);
    -}
    -
    /*
    - * Update the VMA and inode share lists.
    - *
    - * Ok - we have the memory areas we should free on the 'free' list,
    + * Ok - we have the memory areas we should free on the vma list,
    * so release them, and do the vma updates.
    + *
    + * Called with the mm semaphore held.
    */
    -static void unmap_vma_list(struct mm_struct *mm, struct vm_area_struct *vma)
    +static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma)
    {
    do {
    struct vm_area_struct *next = vma->vm_next;
    - unmap_vma(mm, vma);
    + long nrpages = vma_pages(vma);
    +
    + mm->total_vm -= nrpages;
    + if (vma->vm_flags & VM_LOCKED)
    + mm->locked_vm -= nrpages;
    + vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages);
    + remove_vm_struct(vma);
    vma = next;
    } while (vma);
    validate_mm(mm);
    @@ -1795,7 +1783,7 @@ int do_munmap(struct mm_struct *mm, unsi
    unmap_region(mm, vma, prev, start, end);

    /* Fix up all other VM information */
    - unmap_vma_list(mm, vma);
    + remove_vma_list(mm, vma);

    return 0;
    }
    -
    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: 2005-09-25 17:56    [W:0.022 / U:2.312 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site