]> www.infradead.org Git - users/mchehab/rasdaemon.git/commitdiff
ras-page-isolation: page which is PAGE_OFFLINE_FAILED can be offlined again
authorlvying6 <lvying6@huawei.com>
Sat, 31 Oct 2020 09:57:15 +0000 (17:57 +0800)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 23 Dec 2020 09:46:04 +0000 (10:46 +0100)
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>
ras-page-isolation.c

index dc07545297c16eebfc55feb4117eee8f5cf5e00b..fd7bd704dc8e886d4260989e458ef8584714c77c 100644 (file)
@@ -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) {