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. -- Mike Kravetz > > Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > --- > mm/hugetlb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > 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); >