Re: [PATCH v2 12/20] mm, hugetlb: remove vma_has_reserves()

From: Aneesh Kumar K.V
Date: Thu Aug 22 2013 - 07:08:23 EST


Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> writes:

> On Thu, Aug 22, 2013 at 02:14:38PM +0530, Aneesh Kumar K.V wrote:
>> Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> writes:
>>
>> > vma_has_reserves() can be substituted by using return value of
>> > vma_needs_reservation(). If chg returned by vma_needs_reservation()
>> > is 0, it means that vma has reserves. Otherwise, it means that vma don't
>> > have reserves and need a hugepage outside of reserve pool. This definition
>> > is perfectly same as vma_has_reserves(), so remove vma_has_reserves().
>> >
>> > Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
>>
>> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
>
> Thanks.
>
>> > @@ -580,8 +547,7 @@ static struct page *dequeue_huge_page_vma(struct hstate *h,
>> > * have no page reserves. This check ensures that reservations are
>> > * not "stolen". The child may still get SIGKILLed
>> > */
>> > - if (!vma_has_reserves(vma, chg) &&
>> > - h->free_huge_pages - h->resv_huge_pages == 0)
>> > + if (chg && h->free_huge_pages - h->resv_huge_pages == 0)
>> > return NULL;
>> >
>> > /* If reserves cannot be used, ensure enough pages are in the pool */
>> > @@ -600,7 +566,7 @@ retry_cpuset:
>> > if (page) {
>> > if (avoid_reserve)
>> > break;
>> > - if (!vma_has_reserves(vma, chg))
>> > + if (chg)
>> > break;
>> >
>> > SetPagePrivate(page);
>>
>> Can you add a comment above both the place to explain why checking chg
>> is good enough ?
>
> Yes, I can. But it will be changed to use_reserve in patch 13 and it
> represent it's meaning perfectly. So commeting may be useless.

That should be ok, because having a comment in this patch helps in
understanding the patch better, even though you are removing that
later.

-aneesh

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/