Message ID | 20210210075443.26238-1-linmiaohe@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm/hugetlb: remove redundant reservation check condition in alloc_huge_page() | expand |
On 2/9/21 11:54 PM, Miaohe Lin wrote: > If there is no reservation corresponding to a vma, map_chg is always != 0, > i.e. we can not meet the condition where a vma does not have reservation > while map_chg = 0. This commit message might be easier to understand? vma_resv_map(vma) checks if a reserve map is associated with the vma. The routine vma_needs_reservation() will check vma_resv_map(vma) and return 1 if no reserv map is present. map_chg is set to the return value of vma_needs_reservation(). Therefore, !vma_resv_map(vma) is redundant in the expression: map_chg || avoid_reserve || !vma_resv_map(vma); Remove the redundant check.
Hi: On 2021/2/13 9:15, Mike Kravetz wrote: > On 2/9/21 11:54 PM, Miaohe Lin wrote: >> If there is no reservation corresponding to a vma, map_chg is always != 0, >> i.e. we can not meet the condition where a vma does not have reservation >> while map_chg = 0. > > This commit message might be easier to understand? > > vma_resv_map(vma) checks if a reserve map is associated with the vma. The > routine vma_needs_reservation() will check vma_resv_map(vma) and return 1 > if no reserv map is present. map_chg is set to the return value of > vma_needs_reservation(). Therefore, !vma_resv_map(vma) is redundant in the > expression: > map_chg || avoid_reserve || !vma_resv_map(vma); > Remove the redundant check. > Sorry for late respond! I will use this wonderful commit message. Many thanks! :)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 4f2c92ddbca4..36c3646fa55f 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2311,7 +2311,7 @@ struct page *alloc_huge_page(struct vm_area_struct *vma, /* If this allocation is not consuming a reservation, charge it now. */ - deferred_reserve = map_chg || avoid_reserve || !vma_resv_map(vma); + deferred_reserve = map_chg || avoid_reserve; if (deferred_reserve) { ret = hugetlb_cgroup_charge_cgroup_rsvd( idx, pages_per_huge_page(h), &h_cg);
If there is no reservation corresponding to a vma, map_chg is always != 0, i.e. we can not meet the condition where a vma does not have reservation while map_chg = 0. Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> --- mm/hugetlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)