summaryrefslogtreecommitdiff
path: root/mm/page_isolation.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-10-05 08:55:26 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-10-05 08:55:26 +0200
commita944a1fb9a8286fb9e4bbd0180ebd53353c7f412 (patch)
tree40c2c4354a0c86bc50e3d06e0eb2d4b96659b2dd /mm/page_isolation.c
parentc95e48b275c9a26dbf9bd351d2e2ebf5e3dfe40d (diff)
parent549738f15da0e5a00275977623be199fbbf7df50 (diff)
Merge 5.9-rc8 into staging-next
We need the IIO fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm/page_isolation.c')
-rw-r--r--mm/page_isolation.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index 242c03121d73..63a3db10a8c0 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -170,6 +170,14 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages)
* pageblocks we may have modified and return -EBUSY to caller. This
* prevents two threads from simultaneously working on overlapping ranges.
*
+ * Please note that there is no strong synchronization with the page allocator
+ * either. Pages might be freed while their page blocks are marked ISOLATED.
+ * In some cases pages might still end up on pcp lists and that would allow
+ * for their allocation even when they are in fact isolated already. Depending
+ * on how strong of a guarantee the caller needs drain_all_pages might be needed
+ * (e.g. __offline_pages will need to call it after check for isolated range for
+ * a next retry).
+ *
* Return: the number of isolated pageblocks on success and -EBUSY if any part
* of range cannot be isolated.
*/