Re: [PATCH v2 04/10] mm, hugetlb: clean-up alloc_huge_page()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 22, 2013 at 05:36:25PM +0900, Joonsoo Kim wrote:
>We can unify some codes for succeed allocation.
>This makes code more readable.
>There is no functional difference.
>

Reviewed-by: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx>

>Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
>Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
>
>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
>
>--
>To unsubscribe, send a message with 'unsubscribe linux-mm' in
>the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
>see: http://www.linux-mm.org/ .
>Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]