[RFC 0/5] disable pcplists during page isolation

From: Vlastimil Babka
Date: Mon Sep 07 2020 - 12:40:24 EST


As per the discussions [1] [2] this is an attempt to implement David's
suggestion that page isolation should disable pcplists to avoid races. This is
done without extra checks in fast paths, as I mentioned should be possible in
the discussion, and explained in patch 5. Patches 1-4 are preparatory cleanups.

Note this is untested RFC for now. Based on v5.9-rc4 plus Pavel's patch [2]
(slated as a quick fix for mainline+stable).

[1] https://lore.kernel.org/linux-mm/20200901124615.137200-1-pasha.tatashin@xxxxxxxxxx/
[2] https://lore.kernel.org/linux-mm/20200903140032.380431-1-pasha.tatashin@xxxxxxxxxx/

Vlastimil Babka (5):
mm, page_alloc: clean up pageset high and batch update
mm, page_alloc: calculate pageset high and batch once per zone
mm, page_alloc(): remove setup_pageset()
mm, page_alloc: cache pageset high and batch in struct zone
mm, page_alloc: disable pcplists during page isolation

include/linux/gfp.h | 1 +
include/linux/mmzone.h | 2 +
mm/internal.h | 4 ++
mm/memory_hotplug.c | 24 +++----
mm/page_alloc.c | 138 ++++++++++++++++++++++-------------------
mm/page_isolation.c | 45 +++++++++++---
6 files changed, 127 insertions(+), 87 deletions(-)

--
2.28.0