| From f14859f2b6957326d7d44a9a7730c9bed49f5279 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 24 Feb 2021 12:07:22 -0800 |
| Subject: mm/hugetlb: remove redundant check in preparing and destroying |
| gigantic page |
| |
| From: Yanfei Xu <yanfei.xu@windriver.com> |
| |
| [ Upstream commit 5291c09b3edb657f23c1939750c702ba2d74932f ] |
| |
| 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. |
| |
| Link: https://lkml.kernel.org/r/20210202112002.73170-1-yanfei.xu@windriver.com |
| Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> |
| Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com> |
| Reviewed-by: David Hildenbrand <david@redhat.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| mm/hugetlb.c | 7 ++----- |
| 1 file changed, 2 insertions(+), 5 deletions(-) |
| |
| diff --git a/mm/hugetlb.c b/mm/hugetlb.c |
| index 991b5cd40267..f90dd909d017 100644 |
| --- a/mm/hugetlb.c |
| +++ b/mm/hugetlb.c |
| @@ -1252,8 +1252,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); |
| @@ -1583,9 +1582,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); |
| } |
| |
| /* |
| -- |
| 2.30.2 |
| |