[RFC][PATCH v1 10/11] mm: clear PageHWPoison in memory hotremove

From: Naoya Horiguchi
Date: Fri Nov 09 2018 - 01:47:58 EST


One hopeful usecase of memory hotplug is to replace half-broken DIMMs
with new ones, so it makes sense to clear hwpoison info at the time of
memory hotremove.

I hope that this patch covers the topic discussed in
https://lkml.org/lkml/2018/1/17/1228

Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
---
mm/page_alloc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git v4.19-mmotm-2018-10-30-16-08/mm/page_alloc.c v4.19-mmotm-2018-10-30-16-08_patched/mm/page_alloc.c
index 970d6ff..27826b3 100644
--- v4.19-mmotm-2018-10-30-16-08/mm/page_alloc.c
+++ v4.19-mmotm-2018-10-30-16-08_patched/mm/page_alloc.c
@@ -8139,8 +8139,9 @@ __offline_isolated_pages(unsigned long start_pfn, unsigned long end_pfn)
* The HWPoisoned page may be not in buddy system, and
* page_count() is not 0.
*/
- if (unlikely(!PageBuddy(page) && PageHWPoison(page))) {
+ if (unlikely(!PageBuddy(page) && TestClearPageHWPoison(page))) {
pfn++;
+ num_poisoned_pages_dec();
SetPageReserved(page);
continue;
}
--
2.7.0