Messages in this thread Patch in this message | | | From | Miaohe Lin <> | Subject | [PATCH 3/3] mm/memory_hotplug: make HWPoisoned dirty swapcache pages unmovable | Date | Sat, 21 Aug 2021 17:42:46 +0800 |
| |
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
| |