Message ID | 20210202112002.73170-1-yanfei.xu@windriver.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] mm/hugetlb: remove redundant check in preparing and destroying gigantic page | expand |
I'm sorry for forgetting to add David. Now add David :) Thanks, Yanfei On 2/2/21 7:20 PM, yanfei.xu@windriver.com wrote: > From: Yanfei Xu <yanfei.xu@windriver.com> > > Gigantic page is a compound page and its order is more than 1. > Thus it must be available for hpage_pincount. Let's remove the > redundant check for gigantic page. > > Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> > --- > mm/hugetlb.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index a3e4fa2c5e94..dac5db569ccb 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -1219,8 +1219,7 @@ static void destroy_compound_gigantic_page(struct page *page, > struct page *p = page + 1; > > atomic_set(compound_mapcount_ptr(page), 0); > - if (hpage_pincount_available(page)) > - atomic_set(compound_pincount_ptr(page), 0); > + atomic_set(compound_pincount_ptr(page), 0); > > for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) { > clear_compound_head(p); > @@ -1501,9 +1500,7 @@ static void prep_compound_gigantic_page(struct page *page, unsigned int order) > set_compound_head(p, page); > } > atomic_set(compound_mapcount_ptr(page), -1); > - > - if (hpage_pincount_available(page)) > - atomic_set(compound_pincount_ptr(page), 0); > + atomic_set(compound_pincount_ptr(page), 0); > } > > /* >
On 2/2/21 4:19 AM, Xu, Yanfei wrote: > I'm sorry for forgetting to add David. > Now add David :) > > Thanks, > Yanfei > > On 2/2/21 7:20 PM, yanfei.xu@windriver.com wrote: >> From: Yanfei Xu <yanfei.xu@windriver.com> >> >> Gigantic page is a compound page and its order is more than 1. >> Thus it must be available for hpage_pincount. Let's remove the >> redundant check for gigantic page. >> >> Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> >> --- >> mm/hugetlb.c | 7 ++----- >> 1 file changed, 2 insertions(+), 5 deletions(-) I can not imagine a 'hugetlb gigantic page' being <= 1 order, so this change makes sense. Thanks, Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
On 02.02.21 12:20, yanfei.xu@windriver.com wrote: > From: Yanfei Xu <yanfei.xu@windriver.com> > > Gigantic page is a compound page and its order is more than 1. > Thus it must be available for hpage_pincount. Let's remove the > redundant check for gigantic page. > > Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> > --- > mm/hugetlb.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index a3e4fa2c5e94..dac5db569ccb 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -1219,8 +1219,7 @@ static void destroy_compound_gigantic_page(struct page *page, > struct page *p = page + 1; > > atomic_set(compound_mapcount_ptr(page), 0); > - if (hpage_pincount_available(page)) > - atomic_set(compound_pincount_ptr(page), 0); > + atomic_set(compound_pincount_ptr(page), 0); > > for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) { > clear_compound_head(p); > @@ -1501,9 +1500,7 @@ static void prep_compound_gigantic_page(struct page *page, unsigned int order) > set_compound_head(p, page); > } > atomic_set(compound_mapcount_ptr(page), -1); > - > - if (hpage_pincount_available(page)) > - atomic_set(compound_pincount_ptr(page), 0); > + atomic_set(compound_pincount_ptr(page), 0); > } > > /* > Reviewed-by: David Hildenbrand <david@redhat.com>
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index a3e4fa2c5e94..dac5db569ccb 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1219,8 +1219,7 @@ static void destroy_compound_gigantic_page(struct page *page, struct page *p = page + 1; atomic_set(compound_mapcount_ptr(page), 0); - if (hpage_pincount_available(page)) - atomic_set(compound_pincount_ptr(page), 0); + atomic_set(compound_pincount_ptr(page), 0); for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) { clear_compound_head(p); @@ -1501,9 +1500,7 @@ static void prep_compound_gigantic_page(struct page *page, unsigned int order) set_compound_head(p, page); } atomic_set(compound_mapcount_ptr(page), -1); - - if (hpage_pincount_available(page)) - atomic_set(compound_pincount_ptr(page), 0); + atomic_set(compound_pincount_ptr(page), 0); } /*