krishnanadh / rpms / rasdaemon

Forked from rpms/rasdaemon a year ago
Clone

Blame SOURCES/c329012ce4b44af08217f2a8f2b3b9b1b4b1c0d3.patch

David Johansen 447ac5
commit c329012ce4b44af08217f2a8f2b3b9b1b4b1c0d3
David Johansen 447ac5
Author: lvying6 <lvying6@huawei.com>
David Johansen 447ac5
Date:   Sat Oct 31 17:57:15 2020 +0800
David Johansen 447ac5
David Johansen 447ac5
    ras-page-isolation: page which is PAGE_OFFLINE_FAILED can be offlined again
David Johansen 447ac5
    
David Johansen 447ac5
    OS may fail to offline page at the previous time. After some time,
David Johansen 447ac5
    this page's state changed, and the page can be offlined by OS.
David Johansen 447ac5
    At this time, Correctable errors on this page reached the threshold.
David Johansen 447ac5
    Rasdaemon should trigger to offline this page again.
David Johansen 447ac5
    
David Johansen 447ac5
    Signed-off-by: lvying6 <lvying6@huawei.com>
David Johansen 447ac5
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
David Johansen 447ac5
David Johansen 447ac5
diff --git a/ras-page-isolation.c b/ras-page-isolation.c
David Johansen 447ac5
index dc07545..fd7bd70 100644
David Johansen 447ac5
--- a/ras-page-isolation.c
David Johansen 447ac5
+++ b/ras-page-isolation.c
David Johansen 447ac5
@@ -237,12 +237,17 @@ static void page_offline(struct page_record *pr)
David Johansen 447ac5
 	int ret;
David Johansen 447ac5
 
David Johansen 447ac5
 	/* Offlining page is not required */
David Johansen 447ac5
-	if (offline <= OFFLINE_ACCOUNT)
David Johansen 447ac5
+	if (offline <= OFFLINE_ACCOUNT) {
David Johansen 447ac5
+		log(TERM, LOG_INFO, "PAGE_CE_ACTION=%s, ignore to offline page at %#llx\n",
David Johansen 447ac5
+				offline_choice[offline].name, addr);
David Johansen 447ac5
 		return;
David Johansen 447ac5
+	}
David Johansen 447ac5
 
David Johansen 447ac5
 	/* Ignore offlined pages */
David Johansen 447ac5
-	if (pr->offlined != PAGE_ONLINE)
David Johansen 447ac5
+	if (pr->offlined == PAGE_OFFLINE) {
David Johansen 447ac5
+		log(TERM, LOG_INFO, "page at %#llx is already offlined, ignore\n", addr);
David Johansen 447ac5
 		return;
David Johansen 447ac5
+	}
David Johansen 447ac5
 
David Johansen 447ac5
 	/* Time to silence this noisy page */
David Johansen 447ac5
 	if (offline == OFFLINE_SOFT_THEN_HARD) {