On 2/13/24 10:37, Pankaj Raghav (Samsung) wrote:
From: Pankaj Raghav <p.raghav@xxxxxxxxxxx>
As we don't have a way to split a folio to a any given lower folio
order yet, avoid splitting the folio in split_huge_page_to_list() if it
has a minimum folio order requirement.
Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx>
Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
---
mm/huge_memory.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 94c958f7ebb5..d897efc51025 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -3026,6 +3026,19 @@ int split_huge_page_to_list(struct page *page, struct list_head *list)
goto out;
}
+ /*
+ * Do not split if mapping has minimum folio order
+ * requirement.
+ *
+ * XXX: Once we have support for splitting to any lower
+ * folio order, then it could be split based on the
+ * min_folio_order.
+ */
+ if (mapping_min_folio_order(mapping)) {
+ ret = -EAGAIN;
+ goto out;
+ }
+
gfp = current_gfp_context(mapping_gfp_mask(mapping) &
GFP_RECLAIM_MASK);
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Cheers,
Hannes