Commit 55c7ac45 authored by Miaohe Lin's avatar Miaohe Lin Committed by Andrew Morton
Browse files

mm: memory-failure: use local variable huge to check hugetlb page

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: default avatarMiaohe Lin <linmiaohe@huawei.com>
Acked-by: default avatarNaoya Horiguchi <naoya.horiguchi@nec.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 80ee7cb2
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2617,7 +2617,7 @@ static int soft_offline_in_use_page(struct page *page)
	}

	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(struct page *page)
		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.