Commit 2ba2b008 authored by Naoya Horiguchi's avatar Naoya Horiguchi Committed by Andrew Morton
Browse files

Revert "mm/memory-failure.c: fix race with changing page compound again"

Reverts commit 888af270 ("mm/memory-failure.c: fix race with changing
page compound again") because now we fetch the page refcount under
hugetlb_lock in try_memory_failure_hugetlb() so that the race check is no
longer necessary.

Link: https://lkml.kernel.org/r/20220408135323.1559401-4-naoya.horiguchi@linux.dev


Signed-off-by: default avatarNaoya Horiguchi <naoya.horiguchi@nec.com>
Suggested-by: default avatarMiaohe Lin <linmiaohe@huawei.com>
Reviewed-by: default avatarMiaohe Lin <linmiaohe@huawei.com>
Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
Cc: Miaohe Lin <linmiaohe@huawei.com>
Cc: Yang Shi <shy828301@gmail.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent f361e246
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -3251,7 +3251,6 @@ enum mf_action_page_type {
	MF_MSG_BUDDY,
	MF_MSG_DAX,
	MF_MSG_UNSPLIT_THP,
	MF_MSG_DIFFERENT_PAGE_SIZE,
	MF_MSG_UNKNOWN,
};

+0 −1
Original line number Diff line number Diff line
@@ -374,7 +374,6 @@ TRACE_EVENT(aer_event,
	EM ( MF_MSG_BUDDY, "free buddy page" )				\
	EM ( MF_MSG_DAX, "dax page" )					\
	EM ( MF_MSG_UNSPLIT_THP, "unsplit thp" )			\
	EM ( MF_MSG_DIFFERENT_PAGE_SIZE, "different page size" )	\
	EMe ( MF_MSG_UNKNOWN, "unknown page" )

/*
+0 −11
Original line number Diff line number Diff line
@@ -733,7 +733,6 @@ static const char * const action_page_types[] = {
	[MF_MSG_BUDDY]			= "free buddy page",
	[MF_MSG_DAX]			= "dax page",
	[MF_MSG_UNSPLIT_THP]		= "unsplit thp",
	[MF_MSG_DIFFERENT_PAGE_SIZE]	= "different page size",
	[MF_MSG_UNKNOWN]		= "unknown page",
};

@@ -1605,16 +1604,6 @@ static int try_memory_failure_hugetlb(unsigned long pfn, int flags, int *hugetlb
		return res == MF_RECOVERED ? 0 : -EBUSY;
	}

	/*
	 * The page could have changed compound pages due to race window.
	 * If this happens just bail out.
	 */
	if (!PageHuge(p) || compound_head(p) != head) {
		action_result(pfn, MF_MSG_DIFFERENT_PAGE_SIZE, MF_IGNORED);
		res = -EBUSY;
		goto out;
	}

	page_flags = head->flags;

	/*