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/20200908075626.11976-5-osalva...@suse.de
Signed-off-by: Oscar Salvador <osalva...@suse.de>
Cc: Michal Hocko <mho...@kernel.org>
Cc: Naoya Horiguchi <naoya.horigu...@nec.com>
Cc: Oscar Salvador <osalva...@suse.com>
Cc: Qian Cai <c...@lca.pw>
Cc: Tony Luck <tony.l...@intel.com>
Signed-off-by: Andrew Morton <a...@linux-foundation.org>
Signed-off-by: Stephen Rothwell <s...@canb.auug.org.au>
---
 mm/madvise.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/mm/madvise.c b/mm/madvise.c
index 4ce66bab53dd..4bac8e85497a 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -917,10 +917,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
-- 
2.26.2

Reply via email to