Blob Blame History Raw
commit c329012ce4b44af08217f2a8f2b3b9b1b4b1c0d3
Author: lvying6 <lvying6@huawei.com>
Date:   Sat Oct 31 17:57:15 2020 +0800

    ras-page-isolation: page which is PAGE_OFFLINE_FAILED can be offlined again
    
    OS may fail to offline page at the previous time. After some time,
    this page's state changed, and the page can be offlined by OS.
    At this time, Correctable errors on this page reached the threshold.
    Rasdaemon should trigger to offline this page again.
    
    Signed-off-by: lvying6 <lvying6@huawei.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

diff --git a/ras-page-isolation.c b/ras-page-isolation.c
index dc07545..fd7bd70 100644
--- a/ras-page-isolation.c
+++ b/ras-page-isolation.c
@@ -237,12 +237,17 @@ static void page_offline(struct page_record *pr)
 	int ret;
 
 	/* Offlining page is not required */
-	if (offline <= OFFLINE_ACCOUNT)
+	if (offline <= OFFLINE_ACCOUNT) {
+		log(TERM, LOG_INFO, "PAGE_CE_ACTION=%s, ignore to offline page at %#llx\n",
+				offline_choice[offline].name, addr);
 		return;
+	}
 
 	/* Ignore offlined pages */
-	if (pr->offlined != PAGE_ONLINE)
+	if (pr->offlined == PAGE_OFFLINE) {
+		log(TERM, LOG_INFO, "page at %#llx is already offlined, ignore\n", addr);
 		return;
+	}
 
 	/* Time to silence this noisy page */
 	if (offline == OFFLINE_SOFT_THEN_HARD) {