lkml.org 
[lkml]   [2021]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 3/3] mm/memory_hotplug: make HWPoisoned dirty swapcache pages unmovable
Date
HWPoisoned dirty swapcache pages are kept for killing owner processes.
We should not offline these pages or do_swap_page() would access the
offline pages and lead to bad ending.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
mm/memory_hotplug.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index 9fd0be32a281..0488eed3327c 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -1664,6 +1664,12 @@ static int scan_movable_pages(unsigned long start, unsigned long end,
*/
if (PageOffline(page) && page_count(page))
return -EBUSY;
+ /*
+ * HWPoisoned dirty swapcache pages are definitely unmovable
+ * because they are kept for killing owner processes.
+ */
+ if (PageHWPoison(page) && PageSwapCache(page))
+ return -EBUSY;

if (!PageHuge(page))
continue;
--
2.23.0
\
 
 \ /
  Last update: 2021-08-21 11:43    [W:0.087 / U:25.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site