lkml.org 
[lkml]   [2013]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 04/10] mm, hugetlb: clean-up alloc_huge_page()
    Date
    We can unify some codes for succeed allocation.
    This makes code more readable.
    There is no functional difference.

    Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>

    diff --git a/mm/hugetlb.c b/mm/hugetlb.c
    index d21a33a..83edd17 100644
    --- a/mm/hugetlb.c
    +++ b/mm/hugetlb.c
    @@ -1146,12 +1146,7 @@ static struct page *alloc_huge_page(struct vm_area_struct *vma,
    }
    spin_lock(&hugetlb_lock);
    page = dequeue_huge_page_vma(h, vma, addr, avoid_reserve);
    - if (page) {
    - /* update page cgroup details */
    - hugetlb_cgroup_commit_charge(idx, pages_per_huge_page(h),
    - h_cg, page);
    - spin_unlock(&hugetlb_lock);
    - } else {
    + if (!page) {
    spin_unlock(&hugetlb_lock);
    page = alloc_buddy_huge_page(h, NUMA_NO_NODE);
    if (!page) {
    @@ -1162,11 +1157,11 @@ static struct page *alloc_huge_page(struct vm_area_struct *vma,
    return ERR_PTR(-ENOSPC);
    }
    spin_lock(&hugetlb_lock);
    - hugetlb_cgroup_commit_charge(idx, pages_per_huge_page(h),
    - h_cg, page);
    list_move(&page->lru, &h->hugepage_activelist);
    - spin_unlock(&hugetlb_lock);
    + /* Fall through */
    }
    + hugetlb_cgroup_commit_charge(idx, pages_per_huge_page(h), h_cg, page);
    + spin_unlock(&hugetlb_lock);

    set_page_private(page, (unsigned long)spool);

    --
    1.7.9.5


    \
     
     \ /
      Last update: 2013-07-22 12:41    [W:4.165 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site