blob: 3814a6fa35cf7725c54591ebc141a204697fdfc9 [file] [log] [blame]
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.
_