| From: Miaohe Lin <linmiaohe@huawei.com> |
| Subject: mm: memory-failure: use local variable huge to check hugetlb page |
| Date: Tue, 11 Jul 2023 13:50:12 +0800 |
| |
| Use local variable huge to check whether page is hugetlb page to avoid |
| calling PageHuge() multiple times to save cpu cycles. PageHuge() will be |
| stable while extra page refcnt is held. |
| |
| Link: https://lkml.kernel.org/r/20230711055016.2286677-5-linmiaohe@huawei.com |
| Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> |
| Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| mm/memory-failure.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/mm/memory-failure.c~mm-memory-failure-use-local-variable-huge-to-check-hugetlb-page |
| +++ a/mm/memory-failure.c |
| @@ -2617,7 +2617,7 @@ static int soft_offline_in_use_page(stru |
| } |
| |
| lock_page(page); |
| - if (!PageHuge(page)) |
| + if (!huge) |
| wait_on_page_writeback(page); |
| if (PageHWPoison(page)) { |
| unlock_page(page); |
| @@ -2626,7 +2626,7 @@ static int soft_offline_in_use_page(stru |
| return 0; |
| } |
| |
| - if (!PageHuge(page) && PageLRU(page) && !PageSwapCache(page)) |
| + if (!huge && PageLRU(page) && !PageSwapCache(page)) |
| /* |
| * Try to invalidate first. This should work for |
| * non dirty unmapped page cache pages. |
| _ |