summary refs log tree commit diff
path: root/mm/madvise.c
diff options
context:
space:
mode:
authorOscar Salvador <osalvador@suse.de>2020-12-14 19:11:35 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2020-12-15 12:13:44 -0800
commit32409cba3f66810626c1c15b728c31968d6bfa92 (patch)
tree7ba8a2e46ca4938bd0983138ad09ce924ed4530a /mm/madvise.c
parenta8b2c2ce89d4e01062de69b89cafad97cd0fc01b (diff)
downloadlinux-32409cba3f66810626c1c15b728c31968d6bfa92.tar.gz
mm,hwpoison: drop unneeded pcplist draining
memory_failure and soft_offline_path paths now drain pcplists by calling
get_hwpoison_page.

memory_failure flags the page as HWPoison before, so that page cannot
longer go into a pcplist, and soft_offline_page only flags a page as
HWPoison if 1) we took the page off a buddy freelist 2) the page was
in-use and we migrated it 3) was a clean pagecache.

Because of that, a page cannot longer be poisoned and be in a pcplist.

Link: https://lkml.kernel.org/r/20201013144447.6706-5-osalvador@suse.de
Signed-off-by: Oscar Salvador <osalvador@suse.de>
Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/madvise.c')
-rw-r--r--mm/madvise.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/mm/madvise.c b/mm/madvise.c
index 13f5677b9322..fe5c2327e421 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -877,7 +877,6 @@ static long madvise_remove(struct vm_area_struct *vma,
 static int madvise_inject_error(int behavior,
 		unsigned long start, unsigned long end)
 {
-	struct zone *zone;
 	unsigned long size;
 
 	if (!capable(CAP_SYS_ADMIN))
@@ -922,10 +921,6 @@ static int madvise_inject_error(int behavior,
 			return ret;
 	}
 
-	/* Ensure that all poisoned pages are removed from per-cpu lists */
-	for_each_populated_zone(zone)
-		drain_all_pages(zone);
-
 	return 0;
 }
 #endif