Re: [PATCH 11/18] mm, hugetlb: move down outside_reserve check

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

 



On Mon, Jul 29, 2013 at 02:39:30PM -0400, Naoya Horiguchi wrote:
> On Mon, Jul 29, 2013 at 02:32:02PM +0900, Joonsoo Kim wrote:
> > Just move down outsider_reserve check.
> > This makes code more readable.
> > 
> > There is no functional change.
> 
> Why don't you do this in 10/18?

Just help to review :)
Step-by-step approach may help to review, so I decide to be separate it.
If you don't want it, I will merge it in next spin.

Thanks.

> 
> Thanks,
> Naoya Horiguchi
> 
> > Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
> > 
> > diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> > index 5f31ca5..94173e0 100644
> > --- a/mm/hugetlb.c
> > +++ b/mm/hugetlb.c
> > @@ -2530,20 +2530,6 @@ retry_avoidcopy:
> >  		return 0;
> >  	}
> >  
> > -	/*
> > -	 * If the process that created a MAP_PRIVATE mapping is about to
> > -	 * perform a COW due to a shared page count, attempt to satisfy
> > -	 * the allocation without using the existing reserves. The pagecache
> > -	 * page is used to determine if the reserve at this address was
> > -	 * consumed or not. If reserves were used, a partial faulted mapping
> > -	 * at the time of fork() could consume its reserves on COW instead
> > -	 * of the full address range.
> > -	 */
> > -	if (!(vma->vm_flags & VM_MAYSHARE) &&
> > -			is_vma_resv_set(vma, HPAGE_RESV_OWNER) &&
> > -			old_page != pagecache_page)
> > -		outside_reserve = 1;
> > -
> >  	page_cache_get(old_page);
> >  
> >  	/* Drop page_table_lock as buddy allocator may be called */
> > @@ -2557,6 +2543,20 @@ retry_avoidcopy:
> >  		spin_lock(&mm->page_table_lock);
> >  		return VM_FAULT_OOM;
> >  	}
> > +
> > +	/*
> > +	 * If the process that created a MAP_PRIVATE mapping is about to
> > +	 * perform a COW due to a shared page count, attempt to satisfy
> > +	 * the allocation without using the existing reserves. The pagecache
> > +	 * page is used to determine if the reserve at this address was
> > +	 * consumed or not. If reserves were used, a partial faulted mapping
> > +	 * at the time of fork() could consume its reserves on COW instead
> > +	 * of the full address range.
> > +	 */
> > +	if (!(vma->vm_flags & VM_MAYSHARE) &&
> > +			is_vma_resv_set(vma, HPAGE_RESV_OWNER) &&
> > +			old_page != pagecache_page)
> > +		outside_reserve = 1;
> >  	use_reserve = use_reserve && !outside_reserve;
> >  
> >  	new_page = alloc_huge_page(vma, address, use_reserve);
> > -- 
> > 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>

--
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]